reject out-of-range minute and second fields in FixedOffsetFromName - #368
Open
rajath201 wants to merge 1 commit into
Open
reject out-of-range minute and second fields in FixedOffsetFromName#368rajath201 wants to merge 1 commit into
rajath201 wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
FixedOffsetFromName parses a Fixed/UTC+hh:mm:ss name but only bounds the aggregate offset against 24h, never the individual minute and second fields. Parse02d returns any two digits, so a name like Fixed/UTC+00:60:00 or Fixed/UTC+00:00:99 loads and reports a shifted offset (+01:00:00 and +00:01:39 here) even though FixedOffsetToName never emits a field past 59. That one-way acceptance breaks the FixedOffsetToName/FixedOffsetFromName round trip the fixed-zone names depend on.
Reject a minute or second field above 59 where it is parsed. The sibling offset parsers (ParseOffset in time_zone_posix.cc and time_zone_format.cc) already clamp each field to 0-59 through ParseInt, so applying the same per-field bound here lines the fixed-name reader up with them and keeps the check next to the value it validates. Valid names, including the +24:00:00 upper bound, load exactly as before.