summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2015-02-16 08:21:57 -0500
committerNed Batchelder <ned@nedbatchelder.com>2015-02-16 08:21:57 -0500
commitc9cc15a0b3d3b6cf609f9b47dffa113dc8b3c56f (patch)
tree1566f66356c2f40a6e7da043b709d52368bb7f11
parentc1ac6cebd90b7f164e109092f22e2ae1d8292f8f (diff)
downloadpython-coveragepy-c9cc15a0b3d3b6cf609f9b47dffa113dc8b3c56f.tar.gz
Fix some refcounting mistakes
-rw-r--r--coverage/tracer.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/coverage/tracer.c b/coverage/tracer.c
index 6942e85..fd9332e 100644
--- a/coverage/tracer.c
+++ b/coverage/tracer.c
@@ -323,20 +323,21 @@ CTracer_record_pair(CTracer *self, int l1, int l2)
{
int ret = RET_ERROR;
- PyObject * t = Py_BuildValue("(ii)", l1, l2);
- if (t != NULL) {
- if (PyDict_SetItem(self->cur_entry.file_data, t, Py_None) < 0) {
- goto error;
- }
- Py_DECREF(t);
+ PyObject * t = NULL;
+
+ t = Py_BuildValue("(ii)", l1, l2);
+ if (t == NULL) {
+ goto error;
}
- else {
+
+ if (PyDict_SetItem(self->cur_entry.file_data, t, Py_None) < 0) {
goto error;
}
ret = RET_OK;
error:
+ Py_XDECREF(t);
return ret;
}
@@ -381,7 +382,6 @@ CTracer_set_pdata_stack(CTracer *self)
DataStack_init(self, &self->data_stacks[the_index]);
}
else {
- Py_INCREF(stack_index);
the_index = MyInt_AsInt(stack_index);
}