From: Armin Ronacher Date: Sat, 6 Oct 2012 12:28:58 +0000 (+0200) Subject: Added notimplemented_dealloc for better error reporting X-Git-Tag: v3.4.0a1~2346 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=226b1db0e2b3eccb8821f60f9a75c8abfc62b78a;p=thirdparty%2FPython%2Fcpython.git Added notimplemented_dealloc for better error reporting --- diff --git a/Objects/object.c b/Objects/object.c index f41718424d83..858eebedf096 100644 --- a/Objects/object.c +++ b/Objects/object.c @@ -1524,12 +1524,21 @@ notimplemented_new(PyTypeObject *type, PyObject *args, PyObject *kwargs) Py_RETURN_NOTIMPLEMENTED; } +static void +notimplemented_dealloc(PyObject* ignore) +{ + /* This should never get called, but we also don't want to SEGV if + * we accidentally decref NotImplemented out of existence. + */ + Py_FatalError("deallocating NotImplemented"); +} + static PyTypeObject PyNotImplemented_Type = { PyVarObject_HEAD_INIT(&PyType_Type, 0) "NotImplementedType", 0, 0, - none_dealloc, /*tp_dealloc*/ /*never called*/ + notimplemented_dealloc, /*tp_dealloc*/ /*never called*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/