python/dist/src/Python compile.c,2.292,2.293
Update of /cvsroot/python/python/dist/src/Python In directory sc8-pr-cvs1:/tmp/cvs-serv9525 Modified Files: compile.c Log Message: Fix leak discovered in test_new by Michael Hudson. Will backport to 2.3.1 Index: compile.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Python/compile.c,v retrieving revision 2.292 retrieving revision 2.293 diff -C2 -d -r2.292 -r2.293 *** compile.c 28 Aug 2003 14:42:14 -0000 2.292 --- compile.c 15 Sep 2003 21:43:16 -0000 2.293 *************** *** 105,108 **** --- 105,110 ---- int stacksize; int flags; + PyObject *co; + PyObject *empty; PyObject *code; PyObject *consts; *************** *** 128,146 **** return NULL; - if (freevars == NULL || cellvars == NULL) { - PyObject *empty = PyTuple_New(0); - if (empty == NULL) - return NULL; - if (freevars == NULL) { - freevars = empty; - Py_INCREF(freevars); - } - if (cellvars == NULL) { - cellvars = empty; - Py_INCREF(cellvars); - } - Py_DECREF(empty); - } - if (!PyObject_CheckReadBuffer(code)) { PyErr_SetString(PyExc_TypeError, --- 130,133 ---- *************** *** 149,156 **** } ! return (PyObject *)PyCode_New(argcount, nlocals, stacksize, flags, code, consts, names, varnames, freevars, cellvars, filename, name, ! firstlineno, lnotab); } --- 136,153 ---- } ! empty = PyTuple_New(0); ! if (empty == NULL) ! return NULL; ! if (freevars == NULL) ! freevars = empty; ! if (cellvars == NULL) ! cellvars = empty; ! ! co = (PyObject *) PyCode_New(argcount, nlocals, stacksize, flags, code, consts, names, varnames, freevars, cellvars, filename, name, ! firstlineno, lnotab); ! Py_DECREF(empty); ! return co; }
participants (1)
-
rhettingerīŧ users.sourceforge.net