diff --git a/vfs/ChangeLog b/vfs/ChangeLog index 873abf403..20b6130ad 100644 --- a/vfs/ChangeLog +++ b/vfs/ChangeLog @@ -1,3 +1,9 @@ +2006-01-27 Roland Illig + + * utilvfs.c (is_year): The range of valid year numbers is + restricted to 1970 .. 2015 to reduce the number of parsing + errors. + 2006-01-25 Jindrich Makovicka * xdirentry.h (LS_LINEAR_PREOPEN): New macro definition. diff --git a/vfs/utilvfs.c b/vfs/utilvfs.c index c98265ee8..b02622d35 100644 --- a/vfs/utilvfs.c +++ b/vfs/utilvfs.c @@ -399,7 +399,11 @@ is_year (char *str, struct tm *tim) if (sscanf (str, "%ld", &year) != 1) return 0; - if (year < 1900 || year > 3000) + /* The range of valid year numbers is quite restricted in order to + * reduce the number of parsing errors due to filenames starting + * with a four-digit string and a space. + */ + if (!(1970 <= year && year <= 2015)) return 0; tim->tm_year = (int) (year - 1900);