On 21 April 2014 13:24, Helg <[email protected]> wrote: >>Synopsis: msdosfs still using 32-bit time >>Category: system >>Environment: > System : OpenBSD 5.5 > Details : OpenBSD 5.5-current (GENERIC) #38: Sat Apr 12 09:34:08 > MDT 2014 > > [email protected]:/usr/src/sys/arch/i386/compile/GENERIC > > Architecture: OpenBSD.i386 > Machine : i386 >>Description: > touch -d 1970-01-01T00:00:00 test > > The above command will set the modified date on the file to > Sun Feb 7 06:28:16 2106. I've tracked this down to > /usr/src/sys/msdosfs/msdosfs_conv.c. In the function unix2dostime it's > assigning what I believe is now a 64-bit time to a uint32_t. >>How-To-Repeat: > Mount an msdos file system and run the above command, then stat the > file. >>Fix: > Let me know if you want me to fix it but you guys can probably do it > better. >
'fix' committed (with wrong name. Sorry 'bout that.) that set all non-representable dates to 1/1/80 as most msdos code seems to do. .... Ken
