libffi-3.5.2-1.fc44

List of Findings

Error: GCC_ANALYZER_WARNING (CWE-476): [#def1]
libffi-3.5.2/src/dlmalloc.c:3681:15: warning[-Wanalyzer-null-dereference]: dereference of NULL '0'
libffi-3.5.2/src/dlmalloc.c:4266:6: enter_function: entry to 'dlfree'
libffi-3.5.2/src/dlmalloc.c:4273:6: branch_true: following 'true' branch (when 'mem' is non-NULL)...
libffi-3.5.2/src/dlmalloc.c:4274:15: branch_true: ...to here
libffi-3.5.2/src/dlmalloc.c:4284:10: branch_true: following 'true' branch...
libffi-3.5.2/src/dlmalloc.c:4286:11: branch_true: ...to here
libffi-3.5.2/src/dlmalloc.c:4286:10: branch_true: following 'true' branch...
libffi-3.5.2/src/dlmalloc.c:4317:12: branch_true: following 'true' branch...
libffi-3.5.2/src/dlmalloc.c:4318:14: branch_true: following 'true' branch...
libffi-3.5.2/src/dlmalloc.c:4319:25: branch_true: ...to here
libffi-3.5.2/src/dlmalloc.c:4319:16: branch_true: following 'true' branch...
libffi-3.5.2/src/dlmalloc.c:4320:30: branch_true: ...to here
libffi-3.5.2/src/dlmalloc.c:4323:18: branch_false: following 'false' branch...
libffi-3.5.2/src/dlmalloc.c:4327:19: branch_false: ...to here
libffi-3.5.2/src/dlmalloc.c:4327:18: branch_true: following 'true' branch...
libffi-3.5.2/src/dlmalloc.c:4328:17: branch_true: ...to here
libffi-3.5.2/src/dlmalloc.c:4328:17: call_function: calling 'sys_trim' from 'dlfree'
# 3679|           if (is_mmapped_segment(sp)) {
# 3680|             if (HAVE_MMAP &&
# 3681|->               sp->size >= extra &&
# 3682|                 !has_segment_link(m, sp)) { /* can't shrink if pinned */
# 3683|               size_t newsize = sp->size - extra;

Error: COMPILER_WARNING (CWE-477): [#def2]
libffi-3.5.2/src/java_raw_api.c: scope_hint: In function 'ffi_java_raw_call'
libffi-3.5.2/src/java_raw_api.c:317:3: warning[-Wdeprecated-declarations]: 'ffi_java_raw_to_ptrarray' is deprecated
#  317 |   ffi_java_raw_to_ptrarray (cif, raw, avalue);
#      |   ^~~~~~~~~~~~~~~~~~~~~~~~
libffi-3.5.2/src/java_raw_api.c:76:1: note: declared here
#   76 | ffi_java_raw_to_ptrarray (ffi_cif *cif, ffi_java_raw *raw, void **args)
#      | ^~~~~~~~~~~~~~~~~~~~~~~~
#  315|   {
#  316|     void **avalue = (void**) alloca (cif->nargs * sizeof (void*));
#  317|->   ffi_java_raw_to_ptrarray (cif, raw, avalue);
#  318|     ffi_call (cif, fn, rvalue, avalue);
#  319|     ffi_java_rvalue_to_raw (cif, rvalue);

Error: COMPILER_WARNING (CWE-477): [#def3]
libffi-3.5.2/src/java_raw_api.c:317:3: warning[-Wdeprecated-declarations]: 'ffi_java_raw_to_ptrarray' is deprecated
#  315|   {
#  316|     void **avalue = (void**) alloca (cif->nargs * sizeof (void*));
#  317|->   ffi_java_raw_to_ptrarray (cif, raw, avalue);
#  318|     ffi_call (cif, fn, rvalue, avalue);
#  319|     ffi_java_rvalue_to_raw (cif, rvalue);

Error: COMPILER_WARNING (CWE-477): [#def4]
libffi-3.5.2/src/java_raw_api.c: scope_hint: In function 'ffi_java_translate_args'
libffi-3.5.2/src/java_raw_api.c:328:3: warning[-Wdeprecated-declarations]: 'ffi_java_raw_size' is deprecated
#  328 |   ffi_java_raw *raw = (ffi_java_raw*)alloca (ffi_java_raw_size (cif));
#      |   ^~~~~~~~~~~~
libffi-3.5.2/src/java_raw_api.c:45:1: note: declared here
#   45 | ffi_java_raw_size (ffi_cif *cif)
#      | ^~~~~~~~~~~~~~~~~
#  326|   		    void **avalue, void *user_data)
#  327|   {
#  328|->   ffi_java_raw *raw = (ffi_java_raw*)alloca (ffi_java_raw_size (cif));
#  329|     ffi_raw_closure *cl = (ffi_raw_closure*)user_data;
#  330|   

Error: COMPILER_WARNING (CWE-477): [#def5]
libffi-3.5.2/src/java_raw_api.c:328:3: warning[-Wdeprecated-declarations]: 'ffi_java_raw_size' is deprecated
#  326|   		    void **avalue, void *user_data)
#  327|   {
#  328|->   ffi_java_raw *raw = (ffi_java_raw*)alloca (ffi_java_raw_size (cif));
#  329|     ffi_raw_closure *cl = (ffi_raw_closure*)user_data;
#  330|   

Error: COMPILER_WARNING (CWE-477): [#def6]
libffi-3.5.2/src/java_raw_api.c:331:3: warning[-Wdeprecated-declarations]: 'ffi_java_ptrarray_to_raw' is deprecated
#  331 |   ffi_java_ptrarray_to_raw (cif, avalue, raw);
#      |   ^~~~~~~~~~~~~~~~~~~~~~~~
libffi-3.5.2/src/java_raw_api.c:157:1: note: declared here
#  157 | ffi_java_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_java_raw *raw)
#      | ^~~~~~~~~~~~~~~~~~~~~~~~
#  329|     ffi_raw_closure *cl = (ffi_raw_closure*)user_data;
#  330|   
#  331|->   ffi_java_ptrarray_to_raw (cif, avalue, raw);
#  332|     (*cl->fun) (cif, rvalue, (ffi_raw*)raw, cl->user_data);
#  333|     ffi_java_raw_to_rvalue (cif, rvalue);

Error: COMPILER_WARNING (CWE-477): [#def7]
libffi-3.5.2/src/java_raw_api.c:331:3: warning[-Wdeprecated-declarations]: 'ffi_java_ptrarray_to_raw' is deprecated
#  329|     ffi_raw_closure *cl = (ffi_raw_closure*)user_data;
#  330|   
#  331|->   ffi_java_ptrarray_to_raw (cif, avalue, raw);
#  332|     (*cl->fun) (cif, rvalue, (ffi_raw*)raw, cl->user_data);
#  333|     ffi_java_raw_to_rvalue (cif, rvalue);

Error: COMPILER_WARNING (CWE-477): [#def8]
libffi-3.5.2/src/java_raw_api.c: scope_hint: In function 'ffi_prep_java_raw_closure'
libffi-3.5.2/src/java_raw_api.c:369:3: warning[-Wdeprecated-declarations]: 'ffi_prep_java_raw_closure_loc' is deprecated
#  369 |   return ffi_prep_java_raw_closure_loc (cl, cif, fun, user_data, cl);
#      |   ^~~~~~
libffi-3.5.2/src/java_raw_api.c:337:1: note: declared here
#  337 | ffi_prep_java_raw_closure_loc (ffi_java_raw_closure* cl,
#      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  367|   			   void *user_data)
#  368|   {
#  369|->   return ffi_prep_java_raw_closure_loc (cl, cif, fun, user_data, cl);
#  370|   }
#  371|   

Error: COMPILER_WARNING (CWE-477): [#def9]
libffi-3.5.2/src/java_raw_api.c:369:3: warning[-Wdeprecated-declarations]: 'ffi_prep_java_raw_closure_loc' is deprecated
#  367|   			   void *user_data)
#  368|   {
#  369|->   return ffi_prep_java_raw_closure_loc (cl, cif, fun, user_data, cl);
#  370|   }
#  371|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def10]
libffi-3.5.2/src/tramp.c:488:15: warning[-Wanalyzer-malloc-leak]: leak of 'table'
libffi-3.5.2/src/tramp.c:618:1: enter_function: entry to 'ffi_tramp_alloc'
libffi-3.5.2/src/tramp.c:624:8: call_function: calling 'ffi_tramp_init' from 'ffi_tramp_alloc'
#  486|     code = table->code_table;
#  487|     parm = table->parm_table;
#  488|->   for (i = 0; i < tramp_globals.ntramp; i++)
#  489|       {
#  490|         tramp = &tramp_array[i];

Error: GCC_ANALYZER_WARNING (CWE-401): [#def11]
libffi-3.5.2/src/tramp.c:488:15: warning[-Wanalyzer-malloc-leak]: leak of 'tramp_array'
libffi-3.5.2/src/tramp.c:618:1: enter_function: entry to 'ffi_tramp_alloc'
libffi-3.5.2/src/tramp.c:624:8: call_function: calling 'ffi_tramp_init' from 'ffi_tramp_alloc'
#  486|     code = table->code_table;
#  487|     parm = table->parm_table;
#  488|->   for (i = 0; i < tramp_globals.ntramp; i++)
#  489|       {
#  490|         tramp = &tramp_array[i];

Error: GCC_ANALYZER_WARNING (CWE-416): [#def12]
libffi-3.5.2/src/tramp.c:560:17: warning[-Wanalyzer-use-after-free]: use after 'free' of 'table'
libffi-3.5.2/src/tramp.c:618:1: enter_function: entry to 'ffi_tramp_alloc'
libffi-3.5.2/src/tramp.c:624:8: call_function: calling 'ffi_tramp_init' from 'ffi_tramp_alloc'
#  558|     struct tramp_table *table = tramp->table;
#  559|   
#  560|->   tramp->next = table->free;
#  561|     tramp->prev = NULL;
#  562|     if (table->free != NULL)

Error: GCC_ANALYZER_WARNING (CWE-457): [#def13]
libffi-3.5.2/src/tramp.c:560:17: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value '*table.free'
libffi-3.5.2/src/tramp.c:618:1: enter_function: entry to 'ffi_tramp_alloc'
libffi-3.5.2/src/tramp.c:624:8: call_function: calling 'ffi_tramp_init' from 'ffi_tramp_alloc'
#  558|     struct tramp_table *table = tramp->table;
#  559|   
#  560|->   tramp->next = table->free;
#  561|     tramp->prev = NULL;
#  562|     if (table->free != NULL)

Scan Properties

analyzer-version-clippy1.90.0
analyzer-version-cppcheck2.18.3
analyzer-version-gcc15.2.1
analyzer-version-gcc-analyzer16.0.0
analyzer-version-shellcheck0.11.0
analyzer-version-unicontrol0.0.2
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-58.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20250521.132812.g8eff701.main-1.el9.noarch
mock-configfedora-rawhide-gcc-latest-x86_64
project-namelibffi-3.5.2-1.fc44
store-results-to/tmp/tmpj9mi6da9/libffi-3.5.2-1.fc44.tar.xz
time-created2025-10-28 18:58:12
time-finished2025-10-28 18:59:28
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-gcc-latest-x86_64' '-t' 'gcc,cppcheck,shellcheck,clippy,unicontrol' '-o' '/tmp/tmpj9mi6da9/libffi-3.5.2-1.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--install=gcc-latest' '--gcc-analyzer-bin=/opt/gcc-latest/bin/gcc' '/tmp/tmpj9mi6da9/libffi-3.5.2-1.fc44.src.rpm'
tool-versioncsmock-3.8.3.20251027.143044.ge6b947b-1.el9