From 3edfbbbc615be5090d452bbf8a13dfdd68436659 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dirk=20M=C3=BCller?= Date: Thu, 24 Mar 2022 13:02:13 +0100 Subject: [PATCH] handle OverflowError in timed unsign on 32-bit systems --- CHANGES.rst | 2 ++ src/itsdangerous/timed.py | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) 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