]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Fix some incorrect parsing of time with time zone strings
authorMichael Paquier <michael@paquier.xyz>
Wed, 7 Aug 2019 09:17:39 +0000 (18:17 +0900)
committerMichael Paquier <michael@paquier.xyz>
Wed, 7 Aug 2019 09:17:39 +0000 (18:17 +0900)
commitd16d241a55557352e09c9ffd6ab20548b066d193
tree0ac5c9cfb474797666c16c549a93c6d1c2a8da2e
parent113b3d903b348a3c8ac92cdb0389d5ca779c197f
Fix some incorrect parsing of time with time zone strings

When parsing a timetz string with a dynamic timezone abbreviation or a
timezone not specified, it was possible to generate incorrect timestamps
based on a date which uses some non-initialized variables if the input
string did not specify fully a date to parse.  This is already checked
when a full timezone spec is included in the input string, but the two
other cases mentioned above missed the same checks.

This gets fixed by generating an error as this input is invalid, or in
short when a date is not fully specified.

Valgrind was complaining about this problem.

Bug: #15910
Author: Alexander Lakhin
Discussion: https://postgr.es/m/15910-2eba5106b9aa0c61@postgresql.org
Backpatch-through: 9.4
src/backend/utils/adt/datetime.c
src/test/regress/expected/timetz.out
src/test/regress/sql/timetz.sql