-
-
Notifications
You must be signed in to change notification settings - Fork 12.2k
BUG: Potential memory leak in function gentype_reduce (a static analyzer report) #21495
Description
Reproducing code example:
Static analysis results, no POC.
This static analysis report has been manually verified as a real bug and still exists in the latest version.
Error message:
The path provided by the static analyzer is as follows.
-
A new reference is returned from
PyTuple_Newand pointed to byret.
numpy/numpy/core/src/multiarray/scalartypes.c.src
Line 1733 in e49478c
ret = PyTuple_New(2); -
Assume
retis not NULL.
numpy/numpy/core/src/multiarray/scalartypes.c.src
Line 1734 in e49478c
if (ret == NULL) { -
Call function
PyImport_ImportModule, assign return value tomod.
numpy/numpy/core/src/multiarray/scalartypes.c.src
Line 1754 in e49478c
mod = PyImport_ImportModule("numpy.core._multiarray_umath"); -
Assume
modis NULL,
numpy/numpy/core/src/multiarray/scalartypes.c.src
Line 1755 in e49478c
if (mod == NULL) { -
Function returns without decreasing the refcnt of
ret.
numpy/numpy/core/src/multiarray/scalartypes.c.src
Line 1756 in e49478c
return NULL;
Similarly, other non-decreased returns.
numpy/numpy/core/src/multiarray/scalartypes.c.src
Line 1761 in e49478c
| return NULL; |
numpy/numpy/core/src/multiarray/scalartypes.c.src
Line 1769 in e49478c
| return NULL; |
numpy/numpy/core/src/multiarray/scalartypes.c.src
Line 1777 in e49478c
| return NULL; |
numpy/numpy/core/src/multiarray/scalartypes.c.src
Line 1782 in e49478c
| return NULL; |
NumPy/Python version information:
Static analysis carried out on commit 04ab04d.
Internal bug report ID: NumPy-3f42e1 (1756), NumPy-be991e (1777)