Fix a leak when creating an exception

The status enum leaked
This commit is contained in:
Christoph Reiter 2018-03-27 19:14:03 +02:00
parent 1f7b6d2a9d
commit 9274b90a15
1 changed files with 6 additions and 3 deletions

View File

@ -54,10 +54,13 @@ status_to_string(cairo_status_t status)
static void
set_error (PyObject *error_type, cairo_status_t status)
{
PyObject *args, *v;
PyObject *args, *v, *int_enum;
args = Py_BuildValue("(sO)", status_to_string(status),
CREATE_INT_ENUM(Status, status));
int_enum = CREATE_INT_ENUM(Status, status);
if (int_enum == NULL)
return;
args = Py_BuildValue("(sO)", status_to_string(status), int_enum);
Py_DECREF (int_enum);
v = PyObject_Call(error_type, args, NULL);
Py_DECREF(args);
if (v != NULL) {