fix refleak

This commit is contained in:
Benjamin Peterson 2010-10-16 03:12:39 +00:00
parent f6219a588d
commit 294a9fcba6
1 changed files with 6 additions and 4 deletions

View File

@ -3462,7 +3462,7 @@ imp_cache_from_source(PyObject *self, PyObject *args, PyObject *kws)
char buf[MAXPATHLEN+1];
PyObject *pathbytes;
char *cpathname;
PyObject *debug_override = Py_None;
PyObject *debug_override = NULL;
int debug = !Py_OptimizeFlag;
if (!PyArg_ParseTupleAndKeywords(
@ -3470,9 +3470,11 @@ imp_cache_from_source(PyObject *self, PyObject *args, PyObject *kws)
PyUnicode_FSConverter, &pathbytes, &debug_override))
return NULL;
if (debug_override != Py_None)
if ((debug = PyObject_IsTrue(debug_override)) < 0)
return NULL;
if (debug_override != NULL &&
(debug = PyObject_IsTrue(debug_override)) < 0) {
Py_DECREF(pathbytes);
return NULL;
}
cpathname = make_compiled_pathname(
PyBytes_AS_STRING(pathbytes),