summaryrefslogtreecommitdiff
path: root/coverage/tracer.c
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
commit28f1bce8b6004c7a2e7708768f1cc13a5e1b83e3 (patch)
tree8e88cea8e49215f1c99ba39c7ac32571d7535f86 /coverage/tracer.c
parent5c2345b0a32320afcc2fb596ad7277430c0526c4 (diff)
downloadpython-coveragepy-git-28f1bce8b6004c7a2e7708768f1cc13a5e1b83e3.tar.gz
Fix some refcounting mistakes
Diffstat (limited to 'coverage/tracer.c')
-rw-r--r--coverage/tracer.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/coverage/tracer.c b/coverage/tracer.c
index 6942e854..fd9332e1 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);
}