Skip to content

Commit 87bf1cd

Browse files
committed
Fix: free unused list in Py_BuildValue
1 parent ca7f30c commit 87bf1cd

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

graalpython/com.oracle.graal.python.cext/src/modsupport.c

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -515,15 +515,22 @@ MUST_INLINE static PyObject* _PyTruffle_BuildValue(const char* format, va_list v
515515
return NULL;
516516
}
517517

518+
PyObject* result;
518519
switch (PyList_Size(v->list)) {
519520
case 0:
520-
return Py_None;
521+
result = Py_None;
522+
break;
521523
case 1:
522524
// single item gets unwrapped
523-
return PyList_GetItem(v->list, 0);
525+
result = PyList_GetItem(v->list, 0);
526+
Py_DECREF(v->list);
527+
break;
524528
default:
525-
return PyList_AsTuple(v->list);
529+
result = PyList_AsTuple(v->list);
530+
Py_DECREF(v->list);
531+
break;
526532
}
533+
return result;
527534
}
528535

529536
PyObject* Py_VaBuildValue(const char *format, va_list va) {

0 commit comments

Comments
 (0)