diff options
author | Lars Hjemli | 2011-05-23 23:10:37 +0200 |
---|---|---|
committer | Lars Hjemli | 2011-05-23 23:17:10 +0200 |
commit | c8ea73caabcb16ffb74baa70d35650027ed772c4 (patch) | |
tree | 07061939e5568c89bd9d96914f7b61ca0b3b6fe7 | |
parent | Avoid null pointer dereference in cgit_print_diff(). (diff) | |
download | cgit-c8ea73caabcb16ffb74baa70d35650027ed772c4.tar.gz cgit-c8ea73caabcb16ffb74baa70d35650027ed772c4.zip |
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>
-rw-r--r-- | ui-repolist.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ui-repolist.c b/ui-repolist.c index 2c98668..e138f59 100644 --- a/ui-repolist.c +++ b/ui-repolist.c | |||
@@ -20,7 +20,7 @@ time_t read_agefile(char *path) | |||
20 | if (readfile(path, &buf, &size)) | 20 | if (readfile(path, &buf, &size)) |
21 | return -1; | 21 | return -1; |
22 | 22 | ||
23 | if (parse_date(buf, buf2, sizeof(buf2))) | 23 | if (parse_date(buf, buf2, sizeof(buf2)) > 0) |
24 | result = strtoul(buf2, NULL, 10); | 24 | result = strtoul(buf2, NULL, 10); |
25 | else | 25 | else |
26 | result = 0; | 26 | result = 0; |