The way to check if the year is a leap year was incomplete. It was checking only if the year can be divided by 4, that is necessary but not a sufficient condition. It has to check as well if the year can not be divided by 100 or if the year can be divided by 400.
Signed-off-by: Oscar Forner Martinez <oscar.forner.marti...@gmail.com> --- fs/isofs/util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/isofs/util.c b/fs/isofs/util.c index 01e1ee7..d2dd602 100644 --- a/fs/isofs/util.c +++ b/fs/isofs/util.c @@ -38,7 +38,7 @@ int iso_date(char * p, int flag) days += (year+1) / 4; for (i = 1; i < month; i++) days += monlen[i-1]; - if (((year+2) % 4) == 0 && month > 2) + if (((year+2) % 4) == 0 && month > 2 && ((((year+2) % 100) != 0) || (((year+2) % 400) == 0))) days++; days += day - 1; crtime = ((((days * 24) + hour) * 60 + minute) * 60) -- 2.2.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/