[Python-checkins] python/dist/src/Objects abstract.c,2.131,2.132
rhettinger at users.sourceforge.net
rhettinger at users.sourceforge.net
Sun Sep 19 08:00:18 CEST 2004
Update of /cvsroot/python/python/dist/src/Objects
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14326
Modified Files:
abstract.c
Log Message:
SF bug #1030557: PyMapping_Check crashes when argument is NULL
Make PySequence_Check() and PyMapping_Check() handle NULL inputs. This
goes beyond what most of the other checks do, but it is nice defensive
programming and solves the OP's problem.
Index: abstract.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/abstract.c,v
retrieving revision 2.131
retrieving revision 2.132
diff -u -d -r2.131 -r2.132
--- abstract.c 19 Jul 2004 16:29:16 -0000 2.131
+++ abstract.c 19 Sep 2004 06:00:15 -0000 2.132
@@ -1085,7 +1085,7 @@
int
PySequence_Check(PyObject *s)
{
- if (PyInstance_Check(s))
+ if (s && PyInstance_Check(s))
return PyObject_HasAttrString(s, "__getitem__");
return s != NULL && s->ob_type->tp_as_sequence &&
s->ob_type->tp_as_sequence->sq_item != NULL;
@@ -1629,7 +1629,7 @@
int
PyMapping_Check(PyObject *o)
{
- if (PyInstance_Check(o))
+ if (o && PyInstance_Check(o))
return PyObject_HasAttrString(o, "__getitem__");
return o && o->ob_type->tp_as_mapping &&
More information about the Python-checkins
mailing list