Issue #15973: Fixed segmentation fault on timezone comparison to other types.

This commit is contained in:
Alexander Belopolsky 2012-09-20 16:39:33 -04:00
parent 4e12ad19c9
commit 3ec153681e
3 changed files with 11 additions and 3 deletions

View file

@ -3243,9 +3243,13 @@ static PyObject *
timezone_richcompare(PyDateTime_TimeZone *self,
PyDateTime_TimeZone *other, int op)
{
if (op != Py_EQ && op != Py_NE) {
Py_INCREF(Py_NotImplemented);
return Py_NotImplemented;
if (op != Py_EQ && op != Py_NE)
Py_RETURN_NOTIMPLEMENTED;
if (Py_TYPE(other) != &PyDateTime_TimeZoneType) {
if (op == Py_EQ)
Py_RETURN_FALSE;
else
Py_RETURN_TRUE;
}
return delta_richcompare(self->offset, other->offset, op);
}