python/dist/src/Python compile.c,2.293,2.294
Update of /cvsroot/python/python/dist/src/Python In directory sc8-pr-cvs1:/tmp/cvs-serv19599 Modified Files: compile.c Log Message: Improve the leak fix so that PyTuple_New is only called when needed. Index: compile.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Python/compile.c,v retrieving revision 2.293 retrieving revision 2.294 diff -C2 -d -r2.293 -r2.294 *** compile.c 15 Sep 2003 21:43:16 -0000 2.293 --- compile.c 16 Sep 2003 04:27:52 -0000 2.294 *************** *** 106,110 **** int flags; PyObject *co; ! PyObject *empty; PyObject *code; PyObject *consts; --- 106,110 ---- int flags; PyObject *co; ! PyObject *empty = NULL; PyObject *code; PyObject *consts; *************** *** 136,146 **** } ! 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, --- 136,148 ---- } ! if (freevars == NULL || cellvars == NULL) { ! 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, *************** *** 148,152 **** freevars, cellvars, filename, name, firstlineno, lnotab); ! Py_DECREF(empty); return co; } --- 150,154 ---- freevars, cellvars, filename, name, firstlineno, lnotab); ! Py_XDECREF(empty); return co; }
participants (1)
-
rhettingerīŧ users.sourceforge.net