Issue #15973: Fixed segmentation fault on timezone comparison to other types.
diff --git a/Lib/datetime.py b/Lib/datetime.py
index 65f95d2..bf23e50 100644
--- a/Lib/datetime.py
+++ b/Lib/datetime.py
@@ -1821,6 +1821,8 @@
return (self._offset, self._name)
def __eq__(self, other):
+ if type(other) != timezone:
+ return False
return self._offset == other._offset
def __hash__(self):
diff --git a/Lib/test/datetimetester.py b/Lib/test/datetimetester.py
index 3fd6799..bb18630 100644
--- a/Lib/test/datetimetester.py
+++ b/Lib/test/datetimetester.py
@@ -235,6 +235,8 @@
self.assertEqual(timezone(-5 * HOUR), timezone(-5 * HOUR, 'EST'))
with self.assertRaises(TypeError): timezone(ZERO) < timezone(ZERO)
self.assertIn(timezone(ZERO), {timezone(ZERO)})
+ self.assertTrue(timezone(ZERO) != None)
+ self.assertFalse(timezone(ZERO) == None)
def test_aware_datetime(self):
# test that timezone instances can be used by datetime