From 20be53e5b51a3388454cb7d0604a03a20d884510 Mon Sep 17 00:00:00 2001
From: Berker Peksag <berker.peksag@gmail.com>
Date: Mon, 14 Mar 2016 05:48:02 +0200
Subject: Issue #16181: cookiejar.http2time() now returns None if year is
 higher than datetime.MAXYEAR

---
 Lib/http/cookiejar.py           | 5 ++++-
 Lib/test/test_http_cookiejar.py | 4 ++++
 Misc/NEWS                       | 3 +++
 3 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/Lib/http/cookiejar.py b/Lib/http/cookiejar.py
index ac5e667..bd367f9 100644
--- a/Lib/http/cookiejar.py
+++ b/Lib/http/cookiejar.py
@@ -143,6 +143,10 @@ def offset_from_tz_string(tz):
     return offset
 
 def _str2time(day, mon, yr, hr, min, sec, tz):
+    yr = int(yr)
+    if yr > datetime.MAXYEAR:
+        return None
+
     # translate month name to number
     # month numbers start with 1 (January)
     try:
@@ -163,7 +167,6 @@ def _str2time(day, mon, yr, hr, min, sec, tz):
     if min is None: min = 0
     if sec is None: sec = 0
 
-    yr = int(yr)
     day = int(day)
     hr = int(hr)
     min = int(min)
diff --git a/Lib/test/test_http_cookiejar.py b/Lib/test/test_http_cookiejar.py
index 50260ff..ea3c827 100644
--- a/Lib/test/test_http_cookiejar.py
+++ b/Lib/test/test_http_cookiejar.py
@@ -91,6 +91,10 @@ class DateTimeTests(unittest.TestCase):
             '01-01-1980 25:00:00',
             '01-01-1980 00:61:00',
             '01-01-1980 00:00:62',
+            '08-Oct-3697739',
+            '08-01-3697739',
+            '09 Feb 19942632 22:23:32 GMT',
+            'Wed, 09 Feb 1994834 22:23:32 GMT',
             ]:
             self.assertIsNone(http2time(test),
                               "http2time(%s) is not None\n"
diff --git a/Misc/NEWS b/Misc/NEWS
index b7a2617..58ee5a4 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -91,6 +91,9 @@ Core and Builtins
 Library
 -------
 
+- Issue #16181: cookiejar.http2time() now returns None if year is higher than
+  datetime.MAXYEAR.
+
 - Issue #26513: Fixes platform module detection of Windows Server
 
 - Issue #23718: Fixed parsing time in week 0 before Jan 1.  Original patch by
-- 
cgit v0.12

