summaryrefslogtreecommitdiff
path: root/www/py-binarycookies/files/patch-src_binarycookies___deserialize.py
blob: 3aec2539907c0df85c2064512e82ffbb06524c31 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
--- src/binarycookies/_deserialize.py.orig	2025-04-08 19:50:17 UTC
+++ src/binarycookies/_deserialize.py
@@ -1,6 +1,7 @@
 from datetime import datetime, timezone
 from io import BytesIO
 from struct import unpack
+from sys import maxsize
 from typing import BinaryIO, List, Union
 
 from binarycookies.models import (
@@ -28,7 +29,9 @@ def interpret_flag(flags: int) -> Flag:
 
 def mac_epoch_to_date(epoch: int) -> datetime:
     """Converts a mac epoch time to a datetime object."""
-    return datetime.fromtimestamp(epoch + 978307200, tz=timezone.utc)
+    unix_epoch = epoch + 978307200
+    if unix_epoch > maxsize: unix_epoch = maxsize
+    return datetime.fromtimestamp(unix_epoch, tz=timezone.utc)
 
 
 def read_string(data: BytesIO, size: int) -> str: