From 34d5bb5bae0bc53b959e9097f2ebe033a7a0cf8e Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Wed, 19 Jul 2017 05:19:28 +0100 Subject: [PATCH] On DOS date time if value is outside representation just return DOS epoch. --- DiscImageChef.Helpers/DateHandlers.cs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/DiscImageChef.Helpers/DateHandlers.cs b/DiscImageChef.Helpers/DateHandlers.cs index 8d90eda6..360d17fd 100644 --- a/DiscImageChef.Helpers/DateHandlers.cs +++ b/DiscImageChef.Helpers/DateHandlers.cs @@ -179,7 +179,18 @@ namespace DiscImageChef DicConsole.DebugWriteLine("DOSToDateTime handler", "date = 0x{0:X4}, year = {1}, month = {2}, day = {3}", date, year, month, day); DicConsole.DebugWriteLine("DOSToDateTime handler", "time = 0x{0:X4}, hour = {1}, minute = {2}, second = {3}", time, hour, minute, second); - return new DateTime(year, month, day, hour, minute, second); + + DateTime dosdate; + try + { + dosdate = new DateTime(year, month, day, hour, minute, second); + } + catch(ArgumentOutOfRangeException) + { + dosdate = new DateTime(1980, 1, 1, 0, 0, 0); + } + + return dosdate; } public static DateTime CPMToDateTime(byte[] timestamp)