pcre2-10.46-1.fc44

List of Findings

Error: CPPCHECK_WARNING (CWE-457): [#def1]
pcre2-10.46/src/pcre2_jit_char_inc.h:1510: error[uninitvar]: Uninitialized variable: lgb
# 1508|       }
# 1509|   
# 1510|->   if ((PRIV(ucp_gbtable)[lgb] & (1 << rgb)) == 0)
# 1511|       break;
# 1512|   

Error: CPPCHECK_WARNING (CWE-457): [#def2]
pcre2-10.46/src/pcre2_jit_char_inc.h:1593: error[uninitvar]: Uninitialized variable: lgb
# 1591|       }
# 1592|   
# 1593|->   if ((PRIV(ucp_gbtable)[lgb] & (1 << rgb)) == 0)
# 1594|       break;
# 1595|   

Error: CPPCHECK_WARNING (CWE-562): [#def3]
pcre2-10.46/src/pcre2_jit_match.c:62: error[autoVariables]: Address of local auto-variable assigned to a function parameter.
#   60|   local_stack.end = local_space + MACHINE_STACK_SIZE;
#   61|   local_stack.top = local_space + MACHINE_STACK_SIZE;
#   62|-> arguments->stack = &local_stack;
#   63|   return executable_func(arguments);
#   64|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def4]
pcre2-10.46/src/pcre2grep.c:902:25: warning[-Wanalyzer-malloc-leak]: leak of ‘opendir(pathname)’
pcre2-10.46/src/pcre2grep.c:3331:1: enter_function: entry to ‘grep_or_recurse’
pcre2-10.46/src/pcre2grep.c:3358:4: branch_false: following ‘false’ branch (when the strings are non-equal)...
pcre2-10.46/src/pcre2grep.c:3370:12: branch_false: ...to here
pcre2-10.46/src/pcre2grep.c:3416:5: call_function: calling ‘isdirectory’ from ‘grep_or_recurse’
pcre2-10.46/src/pcre2grep.c:3416:5: return_function: returning to ‘grep_or_recurse’ from ‘isdirectory’
pcre2-10.46/src/pcre2grep.c:3416:4: branch_true: following ‘true’ branch...
pcre2-10.46/src/pcre2grep.c:3418:7: branch_true: ...to here
pcre2-10.46/src/pcre2grep.c:3418:6: branch_false: following ‘false’ branch...
pcre2-10.46/src/pcre2grep.c:3419:8: branch_false: ...to here
pcre2-10.46/src/pcre2grep.c:3418:7: branch_false: following ‘false’ branch...
pcre2-10.46/src/pcre2grep.c:3422:7: branch_false: ...to here
pcre2-10.46/src/pcre2grep.c:3422:6: branch_true: following ‘true’ branch...
pcre2-10.46/src/pcre2grep.c:3426:27: call_function: inlined call to ‘opendirectory’ from ‘grep_or_recurse’
pcre2-10.46/src/pcre2grep.c:3428:8: branch_false: following ‘false’ branch...
 branch_false: ...to here
pcre2-10.46/src/pcre2grep.c:3438:24: call_function: calling ‘readdirectory’ from ‘grep_or_recurse’
#  900|   for (;;)
#  901|     {
#  902|->   struct dirent *dent = readdir(dir);
#  903|     if (dent == NULL) break;
#  904|     if (strcmp(dent->d_name, ".") != 0 && strcmp(dent->d_name, "..") != 0)

Error: CPPCHECK_WARNING (CWE-758): [#def5]
pcre2-10.46/src/pcre2grep.c:1556: error[missingReturn]: Found an exit path from function with non-void return type that has missing return statement
# 1554|         }
# 1555|       }
# 1556|->   break;
# 1557|   
# 1558|     case PCRE2_NEWLINE_ANYCRLF:

Error: GCC_ANALYZER_WARNING (CWE-476): [#def6]
pcre2-10.46/src/pcre2grep.c:4146:7: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘op’
pcre2-10.46/src/pcre2grep.c:3972:13: branch_true: following ‘true’ branch (when ‘i < argc’)...
pcre2-10.46/src/pcre2grep.c:3979:11: branch_true: ...to here
pcre2-10.46/src/pcre2grep.c:3979:6: branch_false: following ‘false’ branch...
pcre2-10.46/src/pcre2grep.c:3984:7: branch_false: ...to here
pcre2-10.46/src/pcre2grep.c:3984:6: branch_false: following ‘false’ branch...
pcre2-10.46/src/pcre2grep.c:3992:6: branch_false: ...to here
pcre2-10.46/src/pcre2grep.c:3992:6: branch_false: following ‘false’ branch...
pcre2-10.46/src/pcre2grep.c:4098:11: branch_false: ...to here
pcre2-10.46/src/pcre2grep.c:4101:12: branch_false: following ‘false’ branch...
pcre2-10.46/src/pcre2grep.c:4146:7: branch_false: ...to here
pcre2-10.46/src/pcre2grep.c:4146:7: danger: dereference of NULL ‘op’
# 4144|     something in the PCRE options. */
# 4145|   
# 4146|->   if (op->type == OP_NODATA)
# 4147|       {
# 4148|       pcre2_options = handle_option(op->one_char, pcre2_options);

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-72.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-namepcre2-10.46-1.fc44
store-results-to/tmp/tmpyu5gondl/pcre2-10.46-1.fc44.tar.xz
time-created2025-10-28 19:39:37
time-finished2025-10-28 19:44:22
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-gcc-latest-x86_64' '-t' 'gcc,cppcheck,shellcheck,clippy,unicontrol' '-o' '/tmp/tmpyu5gondl/pcre2-10.46-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/tmpyu5gondl/pcre2-10.46-1.fc44.src.rpm'
tool-versioncsmock-3.8.3.20251027.143044.ge6b947b-1.el9