udf: Sanitize nanoseconds for time stamps
Reportedly some UDF filesystems are recorded with bogus subsecond values resulting in nanoseconds being over 10^9. Sanitize nanoseconds in time stamps when loading them from disk. Reported-by: Ian Turner <vectro@vectro.org> Signed-off-by: Jan Kara <jack@suse.cz>
This commit is contained in:
parent
1291a0d504
commit
d5bd821350
|
@ -62,6 +62,11 @@ udf_disk_stamp_to_time(struct timespec *dest, struct timestamp src)
|
||||||
dest->tv_sec -= offset * 60;
|
dest->tv_sec -= offset * 60;
|
||||||
dest->tv_nsec = 1000 * (src.centiseconds * 10000 +
|
dest->tv_nsec = 1000 * (src.centiseconds * 10000 +
|
||||||
src.hundredsOfMicroseconds * 100 + src.microseconds);
|
src.hundredsOfMicroseconds * 100 + src.microseconds);
|
||||||
|
/*
|
||||||
|
* Sanitize nanosecond field since reportedly some filesystems are
|
||||||
|
* recorded with bogus sub-second values.
|
||||||
|
*/
|
||||||
|
dest->tv_nsec %= NSEC_PER_SEC;
|
||||||
return dest;
|
return dest;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue