New submission from Charalampos Stratakis <cstra...@redhat.com>:
Coverity report on dtoa.c. It was run on python2 but the same code resides on python3. Error: RESOURCE_LEAK (CWE-772): [#def89] Python-2.7.15/Python/dtoa.c:1846: alloc_fn: Storage is returned from allocation function "s2b". Python-2.7.15/Python/dtoa.c:526:9: alloc_fn: Storage is returned from allocation function "multadd". Python-2.7.15/Python/dtoa.c:479:13: alloc_fn: Storage is returned from allocation function "Balloc". Python-2.7.15/Python/dtoa.c:371:13: alloc_fn: Storage is returned from allocation function "PyMem_Malloc". Python-2.7.15/Objects/object.c:2348:5: alloc_fn: Storage is returned from allocation function "malloc". Python-2.7.15/Objects/object.c:2348:5: return_alloc_fn: Directly returning storage allocated by "malloc". Python-2.7.15/Python/dtoa.c:371:13: var_assign: Assigning: "rv" = "PyMem_Malloc(len * 8UL)". Python-2.7.15/Python/dtoa.c:379:5: return_alloc: Returning allocated memory "rv". Python-2.7.15/Python/dtoa.c:479:13: var_assign: Assigning: "b1" = "Balloc(b->k + 1)". Python-2.7.15/Python/dtoa.c:486:13: var_assign: Assigning: "b" = "b1". Python-2.7.15/Python/dtoa.c:491:5: return_alloc: Returning allocated memory "b". Python-2.7.15/Python/dtoa.c:526:9: var_assign: Assigning: "b" = "multadd(b, 10, *s++ - 48)". Python-2.7.15/Python/dtoa.c:530:5: return_alloc: Returning allocated memory "b". Python-2.7.15/Python/dtoa.c:1846: var_assign: Assigning: "bd0" = storage returned from "s2b(s0, nd0, nd, y)". Python-2.7.15/Python/dtoa.c:2249: leaked_storage: Variable "bd0" going out of scope leaks the storage it points to. 2247| 2248| undfl: 2249|-> return sign ? -0.0 : 0.0; 2250| 2251| ovfl: Error: RESOURCE_LEAK (CWE-772): [#def90] Python-2.7.15/Python/dtoa.c:2006: alloc_fn: Storage is returned from allocation function "diff". Python-2.7.15/Python/dtoa.c:952:5: alloc_fn: Storage is returned from allocation function "Balloc". Python-2.7.15/Python/dtoa.c:371:13: alloc_fn: Storage is returned from allocation function "PyMem_Malloc". Python-2.7.15/Objects/object.c:2348:5: alloc_fn: Storage is returned from allocation function "malloc". Python-2.7.15/Objects/object.c:2348:5: return_alloc_fn: Directly returning storage allocated by "malloc". Python-2.7.15/Python/dtoa.c:371:13: var_assign: Assigning: "rv" = "PyMem_Malloc(len * 8UL)". Python-2.7.15/Python/dtoa.c:379:5: return_alloc: Returning allocated memory "rv". Python-2.7.15/Python/dtoa.c:952:5: var_assign: Assigning: "c" = "Balloc(a->k)". Python-2.7.15/Python/dtoa.c:962:5: var_assign: Assigning: "xc" = "c". Python-2.7.15/Python/dtoa.c:996:5: return_alloc: Returning allocated memory "c". Python-2.7.15/Python/dtoa.c:2006: var_assign: Assigning: "delta" = storage returned from "diff(bb, bd)". Python-2.7.15/Python/dtoa.c:2016: noescape: Resource "delta" is not freed or pointed-to in "cmp". Python-2.7.15/Python/dtoa.c:890:13: noescape: "cmp(Bigint *, Bigint *)" does not free or save its parameter "a". Python-2.7.15/Python/dtoa.c:2129: noescape: Resource "delta" is not freed or pointed-to in "ratio". Python-2.7.15/Python/dtoa.c:1179:15: noescape: "ratio(Bigint *, Bigint *)" does not free or save its parameter "a". Python-2.7.15/Python/dtoa.c:2249: leaked_storage: Variable "delta" going out of scope leaks the storage it points to. 2247| 2248| undfl: 2249|-> return sign ? -0.0 : 0.0; 2250| 2251| ovfl: ---------- components: Interpreter Core messages: 337668 nosy: cstratak priority: normal severity: normal status: open title: Coverity scan: Python/dtoa.c resource leak versions: Python 2.7, Python 3.7, Python 3.8 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue36262> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com