pcre2-10.45-1.fc43

List of Findings

Error: CPPCHECK_WARNING (CWE-457): [#def1]
pcre2-10.45/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.45/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.45/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-476): [#def4]
pcre2-10.45/src/pcre2_match.c:6280:66: warning[-Wanalyzer-null-dereference]: dereference of NULL 'P'
pcre2-10.45/src/pcre2_match.c:788:4: branch_false: following 'false' branch (when 'group_frame_type == 0')...
pcre2-10.45/src/pcre2_match.c:803:5: branch_false: ...to here
pcre2-10.45/src/pcre2_match.c:803:4: branch_false: following 'false' branch...
pcre2-10.45/src/pcre2_match.c:804:5: branch_false: ...to here
pcre2-10.45/src/pcre2_match.c:804:4: branch_false: following 'false' branch...
 branch_false: ...to here
pcre2-10.45/src/pcre2_match.c:6188:8: branch_true: following 'true' branch (when 'branch_end' is NULL)...
 branch_true: ...to here
pcre2-10.45/src/pcre2_match.c:6190:12: branch_false: following 'false' branch...
pcre2-10.45/src/pcre2_match.c:6197:9: branch_false: ...to here
pcre2-10.45/src/pcre2_match.c:6197:8: branch_false: following 'false' branch...
pcre2-10.45/src/pcre2_match.c:6235:5: branch_false: ...to here
pcre2-10.45/src/pcre2_match.c:6280:10: branch_true: following 'true' branch...
pcre2-10.45/src/pcre2_match.c:6280:57: branch_true: ...to here
pcre2-10.45/src/pcre2_match.c:6280:66: danger: dereference of NULL 'P'
# 6278|   
# 6279|         case OP_ASSERTBACK_NA:
# 6280|->       if (branch_start[1 + LINK_SIZE] == OP_VREVERSE && Feptr != P->eptr)
# 6281|           RRETURN(MATCH_NOMATCH);
# 6282|         /* Fall through */

Error: GCC_ANALYZER_WARNING (CWE-476): [#def5]
pcre2-10.45/src/pcre2_match.c:6294:66: warning[-Wanalyzer-null-dereference]: dereference of NULL 'P'
pcre2-10.45/src/pcre2_match.c:788:4: branch_false: following 'false' branch (when 'group_frame_type == 0')...
pcre2-10.45/src/pcre2_match.c:803:5: branch_false: ...to here
pcre2-10.45/src/pcre2_match.c:803:4: branch_false: following 'false' branch...
pcre2-10.45/src/pcre2_match.c:804:5: branch_false: ...to here
pcre2-10.45/src/pcre2_match.c:804:4: branch_false: following 'false' branch...
 branch_false: ...to here
pcre2-10.45/src/pcre2_match.c:6188:8: branch_true: following 'true' branch (when 'branch_end' is NULL)...
 branch_true: ...to here
pcre2-10.45/src/pcre2_match.c:6190:12: branch_false: following 'false' branch...
pcre2-10.45/src/pcre2_match.c:6197:9: branch_false: ...to here
pcre2-10.45/src/pcre2_match.c:6197:8: branch_false: following 'false' branch...
pcre2-10.45/src/pcre2_match.c:6235:5: branch_false: ...to here
pcre2-10.45/src/pcre2_match.c:6294:10: branch_true: following 'true' branch...
pcre2-10.45/src/pcre2_match.c:6294:57: branch_true: ...to here
pcre2-10.45/src/pcre2_match.c:6294:66: danger: dereference of NULL 'P'
# 6292|   
# 6293|         case OP_ASSERTBACK:
# 6294|->       if (branch_start[1 + LINK_SIZE] == OP_VREVERSE && Feptr != P->eptr)
# 6295|           RRETURN(MATCH_NOMATCH);
# 6296|         /* Fall through */

Error: GCC_ANALYZER_WARNING (CWE-476): [#def6]
pcre2-10.45/src/pcre2_match.c:6323:66: warning[-Wanalyzer-null-dereference]: dereference of NULL 'P'
pcre2-10.45/src/pcre2_match.c:788:4: branch_false: following 'false' branch (when 'group_frame_type == 0')...
pcre2-10.45/src/pcre2_match.c:803:5: branch_false: ...to here
pcre2-10.45/src/pcre2_match.c:803:4: branch_false: following 'false' branch...
pcre2-10.45/src/pcre2_match.c:804:5: branch_false: ...to here
pcre2-10.45/src/pcre2_match.c:804:4: branch_false: following 'false' branch...
 branch_false: ...to here
pcre2-10.45/src/pcre2_match.c:6188:8: branch_true: following 'true' branch (when 'branch_end' is NULL)...
 branch_true: ...to here
pcre2-10.45/src/pcre2_match.c:6190:12: branch_false: following 'false' branch...
pcre2-10.45/src/pcre2_match.c:6197:9: branch_false: ...to here
pcre2-10.45/src/pcre2_match.c:6197:8: branch_false: following 'false' branch...
pcre2-10.45/src/pcre2_match.c:6235:5: branch_false: ...to here
pcre2-10.45/src/pcre2_match.c:6323:10: branch_true: following 'true' branch...
pcre2-10.45/src/pcre2_match.c:6323:57: branch_true: ...to here
pcre2-10.45/src/pcre2_match.c:6323:66: danger: dereference of NULL 'P'
# 6321|   
# 6322|         case OP_ASSERTBACK_NOT:
# 6323|->       if (branch_start[1 + LINK_SIZE] == OP_VREVERSE && Feptr != P->eptr)
# 6324|           RRETURN(MATCH_NOMATCH);
# 6325|         /* Fall through */

Error: GCC_ANALYZER_WARNING (CWE-476): [#def7]
pcre2-10.45/src/pcre2_match.c:6352:12: warning[-Wanalyzer-null-dereference]: dereference of NULL 'P'
pcre2-10.45/src/pcre2_match.c:788:4: branch_false: following 'false' branch (when 'group_frame_type == 0')...
pcre2-10.45/src/pcre2_match.c:803:5: branch_false: ...to here
pcre2-10.45/src/pcre2_match.c:803:4: branch_false: following 'false' branch...
pcre2-10.45/src/pcre2_match.c:804:5: branch_false: ...to here
pcre2-10.45/src/pcre2_match.c:804:4: branch_false: following 'false' branch...
 branch_false: ...to here
pcre2-10.45/src/pcre2_match.c:6188:8: branch_true: following 'true' branch (when 'branch_end' is NULL)...
 branch_true: ...to here
pcre2-10.45/src/pcre2_match.c:6190:12: branch_false: following 'false' branch...
pcre2-10.45/src/pcre2_match.c:6197:9: branch_false: ...to here
pcre2-10.45/src/pcre2_match.c:6197:8: branch_false: following 'false' branch...
pcre2-10.45/src/pcre2_match.c:6235:5: branch_false: ...to here
pcre2-10.45/src/pcre2_match.c:6352:12: danger: dereference of NULL 'P'
# 6350|   
# 6351|         case OP_SCRIPT_RUN:
# 6352|->       if (!PRIV(script_run)(P->eptr, Feptr, utf)) RRETURN(MATCH_NOMATCH);
# 6353|         break;
# 6354|   

Error: GCC_ANALYZER_WARNING (CWE-131): [#def8]
pcre2-10.45/src/pcre2_substitute.c:1055:9: warning[-Wanalyzer-allocation-size]: allocated buffer size is not a multiple of the pointee's size
pcre2-10.45/src/pcre2_substitute.c:773:4: branch_true: following 'true' branch (when 'mcontext' is non-NULL)...
pcre2-10.45/src/pcre2_substitute.c:775:3: branch_true: ...to here
pcre2-10.45/src/pcre2_substitute.c:782:4: branch_false: following 'false' branch...
pcre2-10.45/src/pcre2_substitute.c:788:4: branch_false: ...to here
pcre2-10.45/src/pcre2_substitute.c:788:4: branch_true: following 'true' branch (when 'replacement' is NULL)...
pcre2-10.45/src/pcre2_substitute.c:790:6: branch_true: ...to here
pcre2-10.45/src/pcre2_substitute.c:790:6: branch_false: following 'false' branch (when 'rlength == 0')...
pcre2-10.45/src/pcre2_substitute.c:795:22: branch_false: ...to here
pcre2-10.45/src/pcre2_substitute.c:816:4: branch_false: following 'false' branch (when 'match_data' is non-NULL)...
pcre2-10.45/src/pcre2_substitute.c:828:9: branch_false: ...to here
pcre2-10.45/src/pcre2_substitute.c:828:9: branch_false: following 'false' branch...
pcre2-10.45/src/pcre2_substitute.c:849:11: branch_false: ...to here
pcre2-10.45/src/pcre2_substitute.c:861:4: branch_true: following 'true' branch (when 'subject' is NULL)...
pcre2-10.45/src/pcre2_substitute.c:863:6: branch_true: ...to here
pcre2-10.45/src/pcre2_substitute.c:863:6: branch_false: following 'false' branch (when 'length == 0')...
pcre2-10.45/src/pcre2_substitute.c:875:4: branch_false: ...to here
pcre2-10.45/src/pcre2_substitute.c:893:4: branch_false: following 'false' branch (when 'length >= start_offset')...
pcre2-10.45/src/pcre2_substitute.c:902:4: branch_false: ...to here
pcre2-10.45/src/pcre2_substitute.c:916:6: branch_false: following 'false' branch (when 'use_existing_match == 0')...
pcre2-10.45/src/pcre2_substitute.c:921:13: branch_false: ...to here
pcre2-10.45/src/pcre2_substitute.c:933:6: branch_false: following 'false' branch (when 'rc >= 0')...
pcre2-10.45/src/pcre2_substitute.c:980:7: branch_false: ...to here
pcre2-10.45/src/pcre2_substitute.c:980:6: branch_false: following 'false' branch...
pcre2-10.45/src/pcre2_substitute.c:1009:6: branch_false: following 'false' branch (when 'subs != 2147483647')...
pcre2-10.45/src/pcre2_substitute.c:1014:3: branch_false: ...to here
pcre2-10.45/src/pcre2_substitute.c:1020:6: branch_false: following 'false' branch (when 'rc != 0')...
pcre2-10.45/src/pcre2_substitute.c:1021:3: branch_false: ...to here
pcre2-10.45/src/pcre2_substitute.c:1031:6: branch_false: following 'false' branch...
 branch_false: ...to here
pcre2-10.45/src/pcre2_substitute.c:1055:9: danger: allocated 1 bytes and assigned to 'const PCRE2_UCHAR16 *' {{aka 'const short unsigned int *'}} here; 'sizeof (PCRE2_UCHAR16 {{aka const short unsigned int}})' is '2'
# 1053|       /* If at the end of a nested substring, pop the stack. */
# 1054|   
# 1055|->     if (ptr >= repend)
# 1056|         {
# 1057|         if (ptrstackptr == 0) break;       /* End of replacement string */

Error: CPPCHECK_WARNING (CWE-758): [#def9]
pcre2-10.45/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): [#def10]
pcre2-10.45/src/pcre2grep.c:4146:7: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘op’
pcre2-10.45/src/pcre2grep.c:3972:13: branch_true: following ‘true’ branch (when ‘i < argc’)...
pcre2-10.45/src/pcre2grep.c:3979:11: branch_true: ...to here
pcre2-10.45/src/pcre2grep.c:3979:6: branch_false: following ‘false’ branch...
pcre2-10.45/src/pcre2grep.c:3984:7: branch_false: ...to here
pcre2-10.45/src/pcre2grep.c:3984:6: branch_false: following ‘false’ branch...
pcre2-10.45/src/pcre2grep.c:3992:6: branch_false: ...to here
pcre2-10.45/src/pcre2grep.c:3992:6: branch_false: following ‘false’ branch...
pcre2-10.45/src/pcre2grep.c:4098:11: branch_false: ...to here
pcre2-10.45/src/pcre2grep.c:4101:12: branch_false: following ‘false’ branch...
pcre2-10.45/src/pcre2grep.c:4146:7: branch_false: ...to here
pcre2-10.45/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.86.0
analyzer-version-cppcheck2.17.1
analyzer-version-gcc15.0.1
analyzer-version-gcc-analyzer15.0.1
analyzer-version-shellcheck0.10.0
analyzer-version-unicontrol0.0.2
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-44.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20250425.124705.g1c7c448.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-namepcre2-10.45-1.fc43
store-results-to/tmp/tmp8tvw92qz/pcre2-10.45-1.fc43.tar.xz
time-created2025-04-25 15:11:41
time-finished2025-04-25 15:16:12
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'unicontrol,cppcheck,gcc,clippy,shellcheck' '-o' '/tmp/tmp8tvw92qz/pcre2-10.45-1.fc43.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmp8tvw92qz/pcre2-10.45-1.fc43.src.rpm'
tool-versioncsmock-3.8.1.20250422.172604.g26bc3d6-1.el9