File: | acl.c |
Function: | ACL_check |
Error: | ob_refcnt of PyIntObject is 1 too high |
294 /* The acl_check method */
295 static PyObject* ACL_check(PyObject* obj, PyObject* args) {
296 ACL_Object *self = (ACL_Object*) obj;
297 int result;
298 int eindex;
299
300 if((result = acl_check(self->acl, &eindex)) == -1)
when considering range: -0x80000000 <= value <= -2
taking False path
301 return PyErr_SetFromErrno(PyExc_IOError);
302 if(result == 0) {
taking False path
303 Py_INCREF(Py_False);
304 return Py_False;
305 }
306 return PyTuple_Pack(2, PyInt_FromLong(result), PyInt_FromLong(eindex));
when PyInt_FromLong() succeeds
when PyInt_FromLong() succeeds
when PyTuple_Pack() succeeds
PyIntObject allocated at: return PyTuple_Pack(2, PyInt_FromLong(result), PyInt_FromLong(eindex));
ob_refcnt is now refs: 1 + N where N >= 0
307 }
ob_refcnt of PyIntObject 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 7 similar trace(s) to this
File: | acl.c |
Function: | ACL_check |
Error: | calling PyTuple_Pack with NULL as argument 2 (D.14383) at acl.c:306 |
294 /* The acl_check method */
295 static PyObject* ACL_check(PyObject* obj, PyObject* args) {
296 ACL_Object *self = (ACL_Object*) obj;
297 int result;
298 int eindex;
299
300 if((result = acl_check(self->acl, &eindex)) == -1)
when considering range: -0x80000000 <= value <= -2
taking False path
301 return PyErr_SetFromErrno(PyExc_IOError);
302 if(result == 0) {
taking False path
303 Py_INCREF(Py_False);
304 return Py_False;
305 }
306 return PyTuple_Pack(2, PyInt_FromLong(result), PyInt_FromLong(eindex));
when PyInt_FromLong() succeeds
when PyInt_FromLong() fails
calling PyTuple_Pack with NULL as argument 2 (D.14383) at acl.c:306
PyTuple_Pack() invokes Py_INCREF() on the pointer, thus accessing (NULL)->ob_refcnt
found 3 similar trace(s) to this
307 }
File: | acl.c |
Function: | ACL_check |
Error: | calling PyTuple_Pack with NULL as argument 3 (D.14381) at acl.c:306 |
294 /* The acl_check method */
295 static PyObject* ACL_check(PyObject* obj, PyObject* args) {
296 ACL_Object *self = (ACL_Object*) obj;
297 int result;
298 int eindex;
299
300 if((result = acl_check(self->acl, &eindex)) == -1)
when considering range: -0x80000000 <= value <= -2
taking False path
301 return PyErr_SetFromErrno(PyExc_IOError);
302 if(result == 0) {
taking False path
303 Py_INCREF(Py_False);
304 return Py_False;
305 }
306 return PyTuple_Pack(2, PyInt_FromLong(result), PyInt_FromLong(eindex));
when PyInt_FromLong() fails
when PyInt_FromLong() succeeds
calling PyTuple_Pack with NULL as argument 3 (D.14381) at acl.c:306
PyTuple_Pack() invokes Py_INCREF() on the pointer, thus accessing (NULL)->ob_refcnt
found 1 similar trace(s) to this
307 }