ui-repolist.c: do not return random/stale data from read_agefile

When git/date.c:parse_date() cannot parse its input it returns -1. But
read_agefile() checks if the result is different from zero, essentialy
returning random data from the date buffer when parsing fails. This
patch fixes the issue by verifying that the result from parse_date()
is positive.

Noticed-by: Julius Plenz <plenz@cis.fu-berlin.de>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This commit is contained in:
Lars Hjemli 2011-05-23 23:10:37 +02:00
parent 9afc883297
commit c8ea73caab

View File

@ -20,7 +20,7 @@ time_t read_agefile(char *path)
if (readfile(path, &buf, &size)) if (readfile(path, &buf, &size))
return -1; return -1;
if (parse_date(buf, buf2, sizeof(buf2))) if (parse_date(buf, buf2, sizeof(buf2)) > 0)
result = strtoul(buf2, NULL, 10); result = strtoul(buf2, NULL, 10);
else else
result = 0; result = 0;