1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-05-28 12:46:10 +02:00

fast-import.c: stricter strtoul check, silence compiler warning

Store the return value of strtoul() in order to avoid compiler
warnings on Ubuntu 8.10.

Also check errno after each call, which is the only way to notice
an overflow without making ULONG_MAX an illegal date.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
René Scharfe 2008-12-21 02:28:48 +01:00 committed by Junio C Hamano
parent 8f1482536a
commit c55fae43c4

View File

@ -1748,9 +1748,12 @@ static int validate_raw_date(const char *src, char *result, int maxlen)
{
const char *orig_src = src;
char *endp, sign;
unsigned long date;
strtoul(src, &endp, 10);
if (endp == src || *endp != ' ')
errno = 0;
date = strtoul(src, &endp, 10);
if (errno || endp == src || *endp != ' ')
return -1;
src = endp + 1;
@ -1758,8 +1761,8 @@ static int validate_raw_date(const char *src, char *result, int maxlen)
return -1;
sign = *src;
strtoul(src + 1, &endp, 10);
if (endp == src || *endp || (endp - orig_src) >= maxlen)
date = strtoul(src + 1, &endp, 10);
if (errno || endp == src || *endp || (endp - orig_src) >= maxlen)
return -1;
strcpy(result, orig_src);