summaryrefslogtreecommitdiff
path: root/coverage/tracer.c
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2009-11-22 09:47:45 -0500
committerNed Batchelder <ned@nedbatchelder.com>2009-11-22 09:47:45 -0500
commit7c50d0e40f55efcaac8bae7385a4d834f8299a96 (patch)
tree4f635fb682ab8000dabd20a5f8e41ad98254f20b /coverage/tracer.c
parent0ed7fed2d04110831234794e2ad2e59e183b0db9 (diff)
downloadpython-coveragepy-git-7c50d0e40f55efcaac8bae7385a4d834f8299a96.tar.gz
Fix a memory leak in the C tracer. Thanks to Yann Malet for reporting it.
Diffstat (limited to 'coverage/tracer.c')
-rw-r--r--coverage/tracer.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/coverage/tracer.c b/coverage/tracer.c
index 8c115708..2ecd187a 100644
--- a/coverage/tracer.c
+++ b/coverage/tracer.c
@@ -388,7 +388,9 @@ Tracer_trace(Tracer *self, PyFrameObject *frame, int what, PyObject *arg)
}
else {
/* Tracing lines: key is simply this_line. */
- PyDict_SetItem(self->cur_file_data, MyInt_FromLong(frame->f_lineno), Py_None);
+ PyObject * this_line = MyInt_FromLong(frame->f_lineno);
+ PyDict_SetItem(self->cur_file_data, this_line, Py_None);
+ Py_DECREF(this_line);
}
}
self->last_line = frame->f_lineno;