22 PyObject *
23 too_many_increfs(PyObject *self, PyObject *args)
24 {
25 PyObject *tmp;
26 tmp = PyLong_FromLong(0x1000);
PyLong_FromLong() succeeds
PyLongObject allocated at: tmp = PyLong_FromLong(0x1000);
27
28 /* This INCREF is redundant, and introduces a leak (or a read through
29 NULL): */
30 Py_INCREF(tmp);
31 return tmp;
returning
ob_refcnt of return value is 1 too high
32 }
File: | tests/cpychecker/refcounts/too_many_increfs/input.c |
Function: | too_many_increfs |
Error: | dereferencing NULL (tmp->ob_refcnt) at tests/cpychecker/refcounts/too_many_increfs/input.c:30 |
22 PyObject *
23 too_many_increfs(PyObject *self, PyObject *args)
24 {
25 PyObject *tmp;
26 tmp = PyLong_FromLong(0x1000);
PyLong_FromLong() fails
27
28 /* This INCREF is redundant, and introduces a leak (or a read through
29 NULL): */
30 Py_INCREF(tmp);
dereferencing NULL (tmp->ob_refcnt) at tests/cpychecker/refcounts/too_many_increfs/input.c:30
31 return tmp;
32 }