From f20fcf9fedfbd4d69e4197c78f0b652c4938f761 Mon Sep 17 00:00:00 2001 From: Jeremy Hylton Date: Thu, 25 Jul 2002 16:06:15 +0000 Subject: Complain if __len__() returns < 0, just like classic classes. Fixes SF bug #575773. Bug fix candidate. --- Objects/typeobject.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Objects/typeobject.c b/Objects/typeobject.c index 9662d95..96fc7cd 100644 --- a/Objects/typeobject.c +++ b/Objects/typeobject.c @@ -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; } -- cgit v0.12