In function 'PyObject* test(int)': tests/cpychecker/refcounts/cplusplus/simple/input.cc:36:16: warning: future use-after-free: ob_refcnt of return value is 1 too low [enabled by default] tests/cpychecker/refcounts/cplusplus/simple/input.cc:36:16: note: was expecting final owned ob_refcnt of return value to be 1 due to object being referenced by: return value but final ob_refcnt is refs: 0 owned, 1 borrowed tests/cpychecker/refcounts/cplusplus/simple/input.cc:27:5: note: when considering value == (int)0 from tests/cpychecker/refcounts/cplusplus/simple/input.cc:25 at: if (i) { tests/cpychecker/refcounts/cplusplus/simple/input.cc:27:5: note: taking False path at: if (i) { tests/cpychecker/refcounts/cplusplus/simple/input.cc:36:16: note: reaching: return Py_None; tests/cpychecker/refcounts/cplusplus/simple/input.cc:27:5: note: ob_refcnt is now refs: 0 owned, 1 borrowed tests/cpychecker/refcounts/cplusplus/simple/input.cc:36:16: note: returning tests/cpychecker/refcounts/cplusplus/simple/input.cc:36:16: note: consider using "Py_RETURN_NONE;" tests/cpychecker/refcounts/cplusplus/simple/input.cc:26:1: note: graphical error report for function 'test' written out to 'tests/cpychecker/refcounts/cplusplus/simple/input.cc.test-refcount-errors.html'