SF bug #808756: refleaks in _hotshot.c.
This commit is contained in:
parent
31d485c0f5
commit
a41276956d
|
@ -347,9 +347,11 @@ unpack_add_info(LogReaderObject *self)
|
|||
goto finally;
|
||||
}
|
||||
if (PyDict_SetItem(self->info, key, list)) {
|
||||
Py_DECREF(list);
|
||||
err = ERR_EXCEPTION;
|
||||
goto finally;
|
||||
}
|
||||
Py_DECREF(list);
|
||||
}
|
||||
if (PyList_Append(list, value))
|
||||
err = ERR_EXCEPTION;
|
||||
|
@ -519,6 +521,7 @@ logreader_dealloc(LogReaderObject *self)
|
|||
fclose(self->logfp);
|
||||
self->logfp = NULL;
|
||||
}
|
||||
Py_XDECREF(self->info);
|
||||
PyObject_Del(self);
|
||||
}
|
||||
|
||||
|
@ -795,11 +798,16 @@ get_fileno(ProfilerObject *self, PyCodeObject *fcode)
|
|||
PyObject *name = PyDict_GetItem(dict, obj);
|
||||
if (name == NULL) {
|
||||
if (pack_define_func(self, fileno, fcode->co_firstlineno,
|
||||
PyString_AS_STRING(fcode->co_name)) < 0)
|
||||
PyString_AS_STRING(fcode->co_name)) < 0) {
|
||||
Py_DECREF(obj);
|
||||
return -1;
|
||||
if (PyDict_SetItem(dict, obj, fcode->co_name))
|
||||
}
|
||||
if (PyDict_SetItem(dict, obj, fcode->co_name)) {
|
||||
Py_DECREF(obj);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
Py_DECREF(obj);
|
||||
}
|
||||
return fileno;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue