catch invalid dates, closes #868
This commit is contained in:
@@ -23,7 +23,7 @@ using System.Diagnostics;
|
|||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
|
using keepass2android;
|
||||||
#if !KeePassUAP
|
#if !KeePassUAP
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
#endif
|
#endif
|
||||||
@@ -872,7 +872,16 @@ namespace KeePassLib.Serialization
|
|||||||
pb = pb8;
|
pb = pb8;
|
||||||
}
|
}
|
||||||
long lSec = MemUtil.BytesToInt64(pb);
|
long lSec = MemUtil.BytesToInt64(pb);
|
||||||
|
try
|
||||||
|
{
|
||||||
return new DateTime(lSec * TimeSpan.TicksPerSecond, DateTimeKind.Utc);
|
return new DateTime(lSec * TimeSpan.TicksPerSecond, DateTimeKind.Utc);
|
||||||
|
}
|
||||||
|
catch (System.ArgumentOutOfRangeException e)
|
||||||
|
{
|
||||||
|
//files might contain bad data, e.g. see #868. Fall back to MinValue
|
||||||
|
Kp2aLog.Log("Failed to read date from file.");
|
||||||
|
return DateTime.MinValue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user