diff --git a/CHANGES.rst b/CHANGES.rst index b5cdfc9..b99dda3 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -3,6 +3,8 @@ Version 2.1.2 Unreleased +- Handle date overflow in timed unsign on 32-bit systems. :pr:`299` + Version 2.1.1 ------------- diff --git a/src/itsdangerous/timed.py b/src/itsdangerous/timed.py index fd9257a..cad8da3 100644 --- a/src/itsdangerous/timed.py +++ b/src/itsdangerous/timed.py @@ -126,8 +126,9 @@ def unsign( if ts_int is not None: try: ts_dt = self.timestamp_to_datetime(ts_int) - except (ValueError, OSError) as exc: + except (ValueError, OSError, OverflowError) as exc: # Windows raises OSError + # 32-bit raises OverflowError raise BadTimeSignature( "Malformed timestamp", payload=value ) from exc