Skip to content

Commit 23355e6

Browse files
committed
Fix access past end of string in date parsing.
This affects date_in(), and a couple of other funcions that use DecodeDate(). Hitoshi Harada
1 parent fab2ae0 commit 23355e6

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/backend/utils/adt/datetime.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2165,9 +2165,12 @@ DecodeDate(char *str, int fmask, int *tmask, bool *is2digits,
21652165
while (*str != '\0' && nf < MAXDATEFIELDS)
21662166
{
21672167
/* skip field separators */
2168-
while (!isalnum((unsigned char) *str))
2168+
while (*str != '\0' && !isalnum((unsigned char) *str))
21692169
str++;
21702170

2171+
if (*str == '\0')
2172+
return DTERR_BAD_FORMAT; /* end of string after separator */
2173+
21712174
field[nf] = str;
21722175
if (isdigit((unsigned char) *str))
21732176
{

0 commit comments

Comments
 (0)