From c9cc15a0b3d3b6cf609f9b47dffa113dc8b3c56f Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Mon, 16 Feb 2015 08:21:57 -0500 Subject: Fix some refcounting mistakes --- coverage/tracer.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'coverage/tracer.c') 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); } -- cgit v1.2.1