848 */
849 static PyObject* Entry_get_permset(PyObject *obj, void* arg) {
850 Entry_Object *self = (Entry_Object*)obj;
851 PyObject *p;
852 Permset_Object *ps;
853
854 p = Permset_new(&Permset_Type, NULL, NULL);
when Permset_new() succeeds
new ref from (unknown) Permset_new allocated at: p = Permset_new(&Permset_Type, NULL, NULL);
ob_refcnt is now refs: 1 + N where N >= 0
855 if(p == NULL)
taking False path
856 return NULL;
857 ps = (Permset_Object*)p;
858 if(acl_get_permset(self->entry, &ps->permset) == -1) {
when considering value == (int)-1 from acl.c:858
taking True path
859 PyErr_SetFromErrno(PyExc_IOError);
PyErr_SetFromErrno()
860 return NULL;
861 }
862 ps->parent_entry = obj;
863 Py_INCREF(obj);
864
865 return (PyObject*)p;
866 }
ob_refcnt of '*p' is 1 too high
was expecting final ob_refcnt to be N + 0 (for some unknown N)
but final ob_refcnt is N + 1