Update of /cvsroot/python/python/dist/src/Objects In directory usw-pr-cvs1:/tmp/cvs-serv7786 Modified Files: object.c Log Message: PyObject_Init[Var] is almost always called from the PyObject_NEW[_VAR] macros. The 'op' argument is then the result from PyObject_MALLOC, and that can of course be NULL. In that case, PyObject_Init[Var] would raise a SystemError with "NULL object passed to PyObject_Init[Var]". But there's nothing the caller of the macro can do about this. So PyObject_Init[Var] should call just PyErr_NoMemory. Will backport. Index: object.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Objects/object.c,v retrieving revision 2.192 retrieving revision 2.193 diff -C2 -d -r2.192 -r2.193 *** object.c 24 Aug 2002 06:31:34 -0000 2.192 --- object.c 11 Oct 2002 20:37:24 -0000 2.193 *************** *** 110,118 **** PyObject_Init(PyObject *op, PyTypeObject *tp) { ! if (op == NULL) { ! PyErr_SetString(PyExc_SystemError, ! "NULL object passed to PyObject_Init"); ! return op; ! } /* Any changes should be reflected in PyObject_INIT (objimpl.h) */ op->ob_type = tp; --- 110,115 ---- PyObject_Init(PyObject *op, PyTypeObject *tp) { ! if (op == NULL) ! return PyErr_NoMemory(); /* Any changes should be reflected in PyObject_INIT (objimpl.h) */ op->ob_type = tp; *************** *** 124,132 **** PyObject_InitVar(PyVarObject *op, PyTypeObject *tp, int size) { ! if (op == NULL) { ! PyErr_SetString(PyExc_SystemError, ! "NULL object passed to PyObject_InitVar"); ! return op; ! } /* Any changes should be reflected in PyObject_INIT_VAR */ op->ob_size = size; --- 121,126 ---- PyObject_InitVar(PyVarObject *op, PyTypeObject *tp, int size) { ! if (op == NULL) ! return (PyVarObject *) PyErr_NoMemory(); /* Any changes should be reflected in PyObject_INIT_VAR */ op->ob_size = size;
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4