Merge branch 'maint'
* maint: fast-import.c::validate_raw_date(): really validate the value
This commit is contained in:
commit
f539cfbe8c
@ -1744,10 +1744,12 @@ static int validate_raw_date(const char *src, char *result, int maxlen)
|
|||||||
{
|
{
|
||||||
const char *orig_src = src;
|
const char *orig_src = src;
|
||||||
char *endp;
|
char *endp;
|
||||||
|
unsigned long num;
|
||||||
|
|
||||||
errno = 0;
|
errno = 0;
|
||||||
|
|
||||||
strtoul(src, &endp, 10);
|
num = strtoul(src, &endp, 10);
|
||||||
|
/* NEEDSWORK: perhaps check for reasonable values? */
|
||||||
if (errno || endp == src || *endp != ' ')
|
if (errno || endp == src || *endp != ' ')
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
@ -1755,8 +1757,9 @@ static int validate_raw_date(const char *src, char *result, int maxlen)
|
|||||||
if (*src != '-' && *src != '+')
|
if (*src != '-' && *src != '+')
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
strtoul(src + 1, &endp, 10);
|
num = strtoul(src + 1, &endp, 10);
|
||||||
if (errno || endp == src || *endp || (endp - orig_src) >= maxlen)
|
if (errno || endp == src + 1 || *endp || (endp - orig_src) >= maxlen ||
|
||||||
|
1400 < num)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
strcpy(result, orig_src);
|
strcpy(result, orig_src);
|
||||||
|
Loading…
Reference in New Issue
Block a user