From 57adf0e3a51fd6cb624b1cde15163777ce980161 Mon Sep 17 00:00:00 2001 From: Leonardo Galli Date: Sun, 4 Mar 2018 15:42:15 +0100 Subject: [PATCH] Fixed: Dates before 1970 causing an exception. Fixes #1913 --- src/NzbDrone.Common/Disk/DiskProviderBase.cs | 10 ++++++++++ src/NzbDrone.Common/Extensions/DateTimeExtensions.cs | 2 ++ 2 files changed, 12 insertions(+) diff --git a/src/NzbDrone.Common/Disk/DiskProviderBase.cs b/src/NzbDrone.Common/Disk/DiskProviderBase.cs index 5ba2021cc..8b888e1ce 100644 --- a/src/NzbDrone.Common/Disk/DiskProviderBase.cs +++ b/src/NzbDrone.Common/Disk/DiskProviderBase.cs @@ -294,12 +294,22 @@ namespace NzbDrone.Common.Disk { Ensure.That(path, () => path).IsValidPath(); + if (dateTime.Before(DateTimeExtensions.Epoch)) + { + dateTime = DateTimeExtensions.Epoch; + } + Directory.SetLastWriteTimeUtc(path, dateTime); } public void FileSetLastWriteTime(string path, DateTime dateTime) { Ensure.That(path, () => path).IsValidPath(); + + if (dateTime.Before(DateTimeExtensions.Epoch)) + { + dateTime = DateTimeExtensions.Epoch; + } File.SetLastWriteTime(path, dateTime); } diff --git a/src/NzbDrone.Common/Extensions/DateTimeExtensions.cs b/src/NzbDrone.Common/Extensions/DateTimeExtensions.cs index 75be57cb6..ef965e1ec 100644 --- a/src/NzbDrone.Common/Extensions/DateTimeExtensions.cs +++ b/src/NzbDrone.Common/Extensions/DateTimeExtensions.cs @@ -38,5 +38,7 @@ namespace NzbDrone.Common.Extensions { return dateTime >= afterDateTime && dateTime <= beforeDateTime; } + + public static DateTime Epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); } }