File: src/python/pyhbac.c
Function: HbacRuleElement_new
Error: ob_refcnt of new ref from (unknown) sss_python_set_new is 1 too high
288 static PyObject *
289 HbacRuleElement_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
290 {
291     HbacRuleElement *self;
292 
293     self = (HbacRuleElement *) type->tp_alloc(type, 0);
when call succeeds
294     if (self == NULL) {
taking False path
295         PyErr_NoMemory();
296         return NULL;
297     }
298 
299     self->category = sss_python_set_new();
when sss_python_set_new() succeeds
new ref from (unknown) sss_python_set_new allocated at:     self->category = sss_python_set_new();
ob_refcnt is now refs: 1 + N where N >= 0
new ref from (unknown) sss_python_set_new is now referenced by 1 non-stack value(s): new ref from call through function pointer.category
300     self->names = PyList_New(0);
when PyList_New() succeeds
301     self->groups = PyList_New(0);
when PyList_New() fails
302     if (!self->names || !self->groups || !self->category) {
taking False path
taking True path
303         Py_DECREF(self);
when taking False path
calling tp_dealloc on new ref from call through function pointer allocated at src/python/pyhbac.c:293
new ref from (unknown) sss_python_set_new is now referenced by 0 non-stack value(s): 
304         PyErr_NoMemory();
PyErr_NoMemory() returns NULL, raising MemoryError
305         return NULL;
306     }
307 
308     return (PyObject *) self;
309 }
ob_refcnt of new ref from (unknown) sss_python_set_new is 1 too high
was expecting final ob_refcnt to be N + 0 (for some unknown N)
but final ob_refcnt is N + 1
found 2 similar trace(s) to this

File: src/python/pyhbac.c
Function: HbacRuleElement_new
Error: ob_refcnt of PyListObject is 1 too high
288 static PyObject *
289 HbacRuleElement_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
290 {
291     HbacRuleElement *self;
292 
293     self = (HbacRuleElement *) type->tp_alloc(type, 0);
when call succeeds
294     if (self == NULL) {
taking False path
295         PyErr_NoMemory();
296         return NULL;
297     }
298 
299     self->category = sss_python_set_new();
when sss_python_set_new() succeeds
300     self->names = PyList_New(0);
when PyList_New() succeeds
PyListObject allocated at:     self->names = PyList_New(0);
ob_refcnt is now refs: 1 + N where N >= 0
PyListObject is now referenced by 1 non-stack value(s): new ref from call through function pointer.names
301     self->groups = PyList_New(0);
when PyList_New() fails
302     if (!self->names || !self->groups || !self->category) {
taking False path
taking True path
303         Py_DECREF(self);
when taking False path
calling tp_dealloc on new ref from call through function pointer allocated at src/python/pyhbac.c:293
PyListObject is now referenced by 0 non-stack value(s): 
304         PyErr_NoMemory();
PyErr_NoMemory() returns NULL, raising MemoryError
305         return NULL;
306     }
307 
308     return (PyObject *) self;
309 }
ob_refcnt of PyListObject is 1 too high
was expecting final ob_refcnt to be N + 0 (for some unknown N)
but final ob_refcnt is N + 1
found 5 similar trace(s) to this