X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=fast-import.c;h=6faaaacb68999db294d20ecbb30772223bfc1b57;hb=34f3999206e8ea41b9e4cf48e30ab1149e01d8a5;hp=7ef9865aa6da794ab52cfc50f21f9f41f861fc4f;hpb=d91ba8fa88a83ec70588700a56c8a4c1e8beb1be;p=git.git diff --git a/fast-import.c b/fast-import.c index 7ef9865aa..6faaaacb6 100644 --- a/fast-import.c +++ b/fast-import.c @@ -1744,10 +1744,12 @@ static int validate_raw_date(const char *src, char *result, int maxlen) { const char *orig_src = src; char *endp; + unsigned long num; errno = 0; - strtoul(src, &endp, 10); + num = strtoul(src, &endp, 10); + /* NEEDSWORK: perhaps check for reasonable values? */ if (errno || endp == src || *endp != ' ') return -1; @@ -1755,8 +1757,9 @@ static int validate_raw_date(const char *src, char *result, int maxlen) if (*src != '-' && *src != '+') return -1; - strtoul(src + 1, &endp, 10); - if (errno || endp == src || *endp || (endp - orig_src) >= maxlen) + num = strtoul(src + 1, &endp, 10); + if (errno || endp == src + 1 || *endp || (endp - orig_src) >= maxlen || + 1400 < num) return -1; strcpy(result, orig_src);