Commit 0899556e authored by Heikki Linnakangas's avatar Heikki Linnakangas

Fix access past end of string in date parsing.

This affects date_in(), and a couple of other funcions that use DecodeDate().

Hitoshi Harada
parent dbdb2172
...@@ -2176,9 +2176,12 @@ DecodeDate(char *str, int fmask, int *tmask, bool *is2digits, ...@@ -2176,9 +2176,12 @@ DecodeDate(char *str, int fmask, int *tmask, bool *is2digits,
while (*str != '\0' && nf < MAXDATEFIELDS) while (*str != '\0' && nf < MAXDATEFIELDS)
{ {
/* skip field separators */ /* skip field separators */
while (!isalnum((unsigned char) *str)) while (*str != '\0' && !isalnum((unsigned char) *str))
str++; str++;
if (*str == '\0')
return DTERR_BAD_FORMAT; /* end of string after separator */
field[nf] = str; field[nf] = str;
if (isdigit((unsigned char) *str)) if (isdigit((unsigned char) *str))
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment