On Thu, Jul 13, 2023 at 02:11:02PM +0000, David Laight wrote: > From: Dan Carpenter > > Sent: 10 July 2023 10:57 > > > > It looks like maybe there is an issue with "year" as well. > > > > fs/isofs/util.c > > 19 int iso_date(u8 *p, int flag) > > 20 { > > 21 int year, month, day, hour, minute, second, tz; > > 22 int crtime; > > 23 > > 24 year = p[0]; > > ^^^^^ > > year is 0-255. > .... > > 32 > > 33 if (year < 0) { > > ^^^^^^^^ > > But this checks year for < 0 which is impossible. Should it be: > > > > year = (signed char)p[0];? > > Or not? > > What happens in 2027 ? > I bet the value has to be treated an unsigned. Yeah. Good point. We could delete that if statement and pull the whole function in a tab. regards, dan carpenter