13
Est-ce que cette fuite ?:Est-ce que PyList_Append (liste, Py_BuildValue (...)) fuit?
static PyObject* foo(PyObject* self, PyObject* args){
PyObect* list = PyList_New(0);
for(int i = 0; i < 100; i++)
// leak? does PyList_Append increment ref of the temporary?
PyList_Append(list, Py_BuildValue("i", 42));
return list;
}
Bien que, je suppose qu'il est préférable de le faire, en tout cas ?:
static PyObject* foo(PyObject* self, PyObject* args){
PyObect* list = PyList_New(100);
for(int i = 0; i < 100; i++)
PyList_SetItem(list, i, Py_BuildValue("i", 42));
return list;
}
Merci de confirmer mes soupçons! – James
Où trouve-t-on la documentation python que PyList_Append incrémente le refcount de l'objet stocké? Je ne vois ça nulle part. –