]> granicus.if.org Git - cgit/commitdiff
ui-repolist.c: do not return random/stale data from read_agefile
authorLars Hjemli <hjemli@gmail.com>
Mon, 23 May 2011 21:10:37 +0000 (23:10 +0200)
committerLars Hjemli <hjemli@gmail.com>
Mon, 23 May 2011 21:17:10 +0000 (23:17 +0200)
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>
ui-repolist.c

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