Kaydet (Commit) a4127695 authored tarafından Armin Rigo's avatar Armin Rigo

SF bug #808756: refleaks in _hotshot.c.

üst 31d485c0
...@@ -347,9 +347,11 @@ unpack_add_info(LogReaderObject *self) ...@@ -347,9 +347,11 @@ unpack_add_info(LogReaderObject *self)
goto finally; goto finally;
} }
if (PyDict_SetItem(self->info, key, list)) { if (PyDict_SetItem(self->info, key, list)) {
Py_DECREF(list);
err = ERR_EXCEPTION; err = ERR_EXCEPTION;
goto finally; goto finally;
} }
Py_DECREF(list);
} }
if (PyList_Append(list, value)) if (PyList_Append(list, value))
err = ERR_EXCEPTION; err = ERR_EXCEPTION;
...@@ -519,6 +521,7 @@ logreader_dealloc(LogReaderObject *self) ...@@ -519,6 +521,7 @@ logreader_dealloc(LogReaderObject *self)
fclose(self->logfp); fclose(self->logfp);
self->logfp = NULL; self->logfp = NULL;
} }
Py_XDECREF(self->info);
PyObject_Del(self); PyObject_Del(self);
} }
...@@ -795,11 +798,16 @@ get_fileno(ProfilerObject *self, PyCodeObject *fcode) ...@@ -795,11 +798,16 @@ get_fileno(ProfilerObject *self, PyCodeObject *fcode)
PyObject *name = PyDict_GetItem(dict, obj); PyObject *name = PyDict_GetItem(dict, obj);
if (name == NULL) { if (name == NULL) {
if (pack_define_func(self, fileno, fcode->co_firstlineno, 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; return -1;
if (PyDict_SetItem(dict, obj, fcode->co_name)) }
if (PyDict_SetItem(dict, obj, fcode->co_name)) {
Py_DECREF(obj);
return -1; return -1;
}
} }
Py_DECREF(obj);
} }
return fileno; return fileno;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment