mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-10-02 08:21:17 +02:00
Fix access past end of string in date parsing.
This affects date_in(), and a couple of other funcions that use DecodeDate(). Hitoshi Harada
This commit is contained in:
parent
dbdb2172a0
commit
0899556e92
@ -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))
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user