]> granicus.if.org Git - python/commitdiff
Complain if __len__() returns < 0, just like classic classes.
authorJeremy Hylton <jeremy@alum.mit.edu>
Thu, 25 Jul 2002 16:06:15 +0000 (16:06 +0000)
committerJeremy Hylton <jeremy@alum.mit.edu>
Thu, 25 Jul 2002 16:06:15 +0000 (16:06 +0000)
Fixes SF bug #575773.

Bug fix candidate.

Objects/typeobject.c

index 9662d9560eeb8ce68bbb38a3a3d0489415bf9925..96fc7cd12c68e055ff619eb9168c806ff64afb1a 100644 (file)
@@ -2972,6 +2972,11 @@ slot_sq_length(PyObject *self)
                return -1;
        len = (int)PyInt_AsLong(res);
        Py_DECREF(res);
+       if (len < 0) {
+               PyErr_SetString(PyExc_ValueError, 
+                               "__len__() should return >= 0");
+               return -1;
+       }
        return len;
 }