From: Barry Warsaw Date: Fri, 29 Aug 1997 21:54:35 +0000 (+0000) Subject: PyErr_NoMemory(): If the pre-instantiated memory exception is non-null X-Git-Tag: v1.5a4~282 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2d8adff10a92fb979795e339395711f782fe71f8;p=python PyErr_NoMemory(): If the pre-instantiated memory exception is non-null (PyExc_MemoryErrorInst) raise this instead of PyExc_MemoryError. This only happens when exception classes are enabled (e.g. when Python is started with -X). --- diff --git a/Python/errors.c b/Python/errors.c index 48649fda3c..91c543d0fa 100644 --- a/Python/errors.c +++ b/Python/errors.c @@ -256,7 +256,15 @@ PyErr_BadArgument() PyObject * PyErr_NoMemory() { - PyErr_SetNone(PyExc_MemoryError); + /* raise the pre-allocated instance if it still exists */ + if (PyExc_MemoryErrorInst) + PyErr_SetObject(PyExc_MemoryError, PyExc_MemoryErrorInst); + else + /* this will probably fail since there's no memory and hee, + hee, we have to instantiate this class + */ + PyErr_SetNone(PyExc_MemoryError); + return NULL; }