Fixed findings

List of Findings

Error: GCC_ANALYZER_WARNING (CWE-126): [#def1]
curl-8.11.1/build-full/lib/../../lib/http_negotiate.c:92:9: warning[-Wanalyzer-out-of-bounds]: buffer over-read
curl-8.11.1/build-full/lib/../../lib/http_negotiate.c:138:10: enter_function: entry to 'Curl_output_negotiate'
curl-8.11.1/build-full/lib/../../lib/http_negotiate.c:185:7: branch_true: following 'true' branch...
curl-8.11.1/build-full/lib/../../lib/http_negotiate.c:186:16: branch_true: ...to here
curl-8.11.1/build-full/lib/../../lib/http_negotiate.c:186:16: call_function: calling 'Curl_input_negotiate' from 'Curl_output_negotiate'
#   90|       header++;
#   91|   
#   92|->   len = strlen(header);
#   93|     neg_ctx->havenegdata = len != 0;
#   94|     if(!len) {

Error: GCC_ANALYZER_WARNING (CWE-457): [#def2]
curl-8.11.1/build-full/lib/../../lib/mprintf.c:719:20: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'input[<unknown>].val.nums'
curl-8.11.1/build-full/lib/../../lib/mprintf.c:1215:5: enter_function: entry to 'curl_mvfprintf'
curl-8.11.1/build-full/lib/../../lib/mprintf.c:1217:10: call_function: calling 'formatf' from 'curl_mvfprintf'
#  717|       /* pick up the specified width */
#  718|       if(flags & FLAGS_WIDTHPARAM) {
#  719|->       width = (int)input[optr->width].val.nums;
#  720|         if(width < 0) {
#  721|           /* "A negative field width is taken as a '-' flag followed by a

Error: GCC_ANALYZER_WARNING (CWE-457): [#def3]
curl-8.11.1/build-full/lib/../../lib/mprintf.c:736:19: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'input[<unknown>].val.nums'
curl-8.11.1/build-full/lib/../../lib/mprintf.c:1210:5: enter_function: entry to 'curl_mvprintf'
curl-8.11.1/build-full/lib/../../lib/mprintf.c:1212:10: call_function: calling 'formatf' from 'curl_mvprintf'
#  734|       /* pick up the specified precision */
#  735|       if(flags & FLAGS_PRECPARAM) {
#  736|->       prec = (int)input[optr->precision].val.nums;
#  737|         if(prec < 0)
#  738|           /* "A negative precision is taken as if the precision were

Error: GCC_ANALYZER_WARNING (CWE-457): [#def4]
curl-8.11.1/build-full/lib/../../lib/mprintf.c:750:12: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'input[<unknown>].type'
curl-8.11.1/build-full/lib/../../lib/mprintf.c:1210:5: enter_function: entry to 'curl_mvprintf'
curl-8.11.1/build-full/lib/../../lib/mprintf.c:1212:10: call_function: calling 'formatf' from 'curl_mvprintf'
#  748|       iptr = &input[optr->input];
#  749|   
#  750|->     switch(iptr->type) {
#  751|       case FORMAT_INTU:
#  752|       case FORMAT_LONGU:

Error: GCC_ANALYZER_WARNING (CWE-476): [#def5]
curl-8.11.1/build-full/lib/../../lib/sendf.c:1132:3: warning[-Wanalyzer-null-dereference]: dereference of NULL 'r'
curl-8.11.1/build-full/lib/../../lib/sendf.c:1354:10: enter_function: entry to 'Curl_creader_set_buf'
curl-8.11.1/build-full/lib/../../lib/sendf.c:1361:12: call_function: calling 'Curl_creader_create' from 'Curl_creader_set_buf'
curl-8.11.1/build-full/lib/../../lib/sendf.c:1361:12: return_function: returning to 'Curl_creader_set_buf' from 'Curl_creader_create'
curl-8.11.1/build-full/lib/../../lib/sendf.c:1362:5: branch_false: following 'false' branch...
curl-8.11.1/build-full/lib/../../lib/sendf.c:1364:10: branch_false: ...to here
curl-8.11.1/build-full/lib/../../lib/sendf.c:1370:12: call_function: calling 'do_init_reader_stack' from 'Curl_creader_set_buf'
# 1130|     if(result)
# 1131|       goto out;
# 1132|->   ctx = r->ctx;
# 1133|     ctx->total_len = len;
# 1134|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def6]
curl-8.11.1/build-full/src/../../src/tool_operate.c:847:9: warning[-Wanalyzer-malloc-leak]: leak of ‘*config.cert_type’
curl-8.11.1/build-full/src/../../src/tool_operate.c:3153:10: enter_function: entry to ‘operate’
curl-8.11.1/build-full/src/../../src/tool_operate.c:3165:6: branch_false: following ‘false’ branch (when ‘first_arg’ is NULL)...
curl-8.11.1/build-full/src/../../src/tool_operate.c:3179:5: branch_false: ...to here
curl-8.11.1/build-full/src/../../src/tool_operate.c:3179:5: branch_true: following ‘true’ branch (when ‘result == 0’)...
curl-8.11.1/build-full/src/../../src/tool_operate.c:3181:26: branch_true: ...to here
curl-8.11.1/build-full/src/../../src/tool_operate.c:3217:9: branch_true: following ‘true’ branch (when ‘result == 0’)...
curl-8.11.1/build-full/src/../../src/tool_operate.c:3219:33: branch_true: ...to here
curl-8.11.1/build-full/src/../../src/tool_operate.c:3221:11: branch_false: following ‘false’ branch...
curl-8.11.1/build-full/src/../../src/tool_operate.c:3230:11: branch_false: ...to here
curl-8.11.1/build-full/src/../../src/tool_operate.c:3249:20: call_function: calling ‘run_all_transfers’ from ‘operate’
#  845|       if(config->cert && !config->cert_type && is_pkcs11_uri(config->cert)) {
#  846|         config->cert_type = strdup("ENG");
#  847|->       if(!config->cert_type)
#  848|           return CURLE_OUT_OF_MEMORY;
#  849|       }

Error: GCC_ANALYZER_WARNING (CWE-688): [#def7]
curl-8.11.1/build-full/src/../../src/tool_writeout.c:421:7: warning[-Wanalyzer-null-argument]: use of NULL ‘strinfo’ where non-null expected
curl-8.11.1/build-full/src/../../src/tool_writeout.c:282:12: enter_function: entry to ‘writeString’
curl-8.11.1/build-full/src/../../src/tool_writeout.c:287:15: release_memory: ‘strinfo’ is NULL
curl-8.11.1/build-full/src/../../src/tool_writeout.c:294:5: branch_false: following ‘false’ branch...
curl-8.11.1/build-full/src/../../src/tool_writeout.c:315:12: branch_false: ...to here
curl-8.11.1/build-full/src/../../src/tool_writeout.c:401:9: branch_true: following ‘true’ branch...
curl-8.11.1/build-full/src/../../src/tool_writeout.c:402:13: branch_true: ...to here
curl-8.11.1/build-full/src/../../src/tool_writeout.c:402:13: call_function: calling ‘urlpart’ from ‘writeString’
curl-8.11.1/build-full/src/../../src/tool_writeout.c:402:13: return_function: returning to ‘writeString’ from ‘urlpart’
curl-8.11.1/build-full/src/../../src/tool_writeout.c:402:11: branch_true: following ‘true’ branch...
curl-8.11.1/build-full/src/../../src/tool_writeout.c:403:11: branch_true: ...to here
curl-8.11.1/build-full/src/../../src/tool_writeout.c:403:11: release_memory: ‘strinfo’ is NULL
curl-8.11.1/build-full/src/../../src/tool_writeout.c:416:7: branch_false: following ‘false’ branch (when ‘use_json == 0’)...
curl-8.11.1/build-full/src/../../src/tool_writeout.c:421:7: branch_false: ...to here
curl-8.11.1/build-full/src/../../src/tool_writeout.c:421:7: release_memory: ‘strinfo’ is NULL
curl-8.11.1/build-full/src/../../src/tool_writeout.c:421:7: danger: argument 1 (‘strinfo’) NULL where non-null expected
#  419|       }
#  420|       else
#  421|->       fputs(strinfo, stream);
#  422|     }
#  423|     else {

Error: GCC_ANALYZER_WARNING (CWE-126): [#def8]
curl-8.11.1/build-minimal/lib/../../lib/http_negotiate.c:92:9: warning[-Wanalyzer-out-of-bounds]: buffer over-read
curl-8.11.1/build-minimal/lib/../../lib/http_negotiate.c:138:10: enter_function: entry to 'Curl_output_negotiate'
curl-8.11.1/build-minimal/lib/../../lib/http_negotiate.c:185:7: branch_true: following 'true' branch...
curl-8.11.1/build-minimal/lib/../../lib/http_negotiate.c:186:16: branch_true: ...to here
curl-8.11.1/build-minimal/lib/../../lib/http_negotiate.c:186:16: call_function: calling 'Curl_input_negotiate' from 'Curl_output_negotiate'
#   90|       header++;
#   91|   
#   92|->   len = strlen(header);
#   93|     neg_ctx->havenegdata = len != 0;
#   94|     if(!len) {

Error: GCC_ANALYZER_WARNING (CWE-457): [#def9]
curl-8.11.1/build-minimal/lib/../../lib/mprintf.c:719:20: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'input[<unknown>].val.nums'
curl-8.11.1/build-minimal/lib/../../lib/mprintf.c:1203:5: enter_function: entry to 'curl_mvsprintf'
curl-8.11.1/build-minimal/lib/../../lib/mprintf.c:1205:17: call_function: calling 'formatf' from 'curl_mvsprintf'
#  717|       /* pick up the specified width */
#  718|       if(flags & FLAGS_WIDTHPARAM) {
#  719|->       width = (int)input[optr->width].val.nums;
#  720|         if(width < 0) {
#  721|           /* "A negative field width is taken as a '-' flag followed by a

Error: GCC_ANALYZER_WARNING (CWE-457): [#def10]
curl-8.11.1/build-minimal/lib/../../lib/mprintf.c:736:19: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'input[<unknown>].val.nums'
curl-8.11.1/build-minimal/lib/../../lib/mprintf.c:1203:5: enter_function: entry to 'curl_mvsprintf'
curl-8.11.1/build-minimal/lib/../../lib/mprintf.c:1205:17: call_function: calling 'formatf' from 'curl_mvsprintf'
#  734|       /* pick up the specified precision */
#  735|       if(flags & FLAGS_PRECPARAM) {
#  736|->       prec = (int)input[optr->precision].val.nums;
#  737|         if(prec < 0)
#  738|           /* "A negative precision is taken as if the precision were

Error: GCC_ANALYZER_WARNING (CWE-457): [#def11]
curl-8.11.1/build-minimal/lib/../../lib/mprintf.c:750:12: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'input[<unknown>].type'
curl-8.11.1/build-minimal/lib/../../lib/mprintf.c:1215:5: enter_function: entry to 'curl_mvfprintf'
curl-8.11.1/build-minimal/lib/../../lib/mprintf.c:1217:10: call_function: calling 'formatf' from 'curl_mvfprintf'
#  748|       iptr = &input[optr->input];
#  749|   
#  750|->     switch(iptr->type) {
#  751|       case FORMAT_INTU:
#  752|       case FORMAT_LONGU:

Error: GCC_ANALYZER_WARNING (CWE-476): [#def12]
curl-8.11.1/build-minimal/lib/../../lib/sendf.c:1132:3: warning[-Wanalyzer-null-dereference]: dereference of NULL 'r'
curl-8.11.1/build-minimal/lib/../../lib/sendf.c:1354:10: enter_function: entry to 'Curl_creader_set_buf'
curl-8.11.1/build-minimal/lib/../../lib/sendf.c:1361:12: call_function: calling 'Curl_creader_create' from 'Curl_creader_set_buf'
curl-8.11.1/build-minimal/lib/../../lib/sendf.c:1361:12: return_function: returning to 'Curl_creader_set_buf' from 'Curl_creader_create'
curl-8.11.1/build-minimal/lib/../../lib/sendf.c:1362:5: branch_false: following 'false' branch...
curl-8.11.1/build-minimal/lib/../../lib/sendf.c:1364:10: branch_false: ...to here
curl-8.11.1/build-minimal/lib/../../lib/sendf.c:1370:12: call_function: calling 'do_init_reader_stack' from 'Curl_creader_set_buf'
# 1130|     if(result)
# 1131|       goto out;
# 1132|->   ctx = r->ctx;
# 1133|     ctx->total_len = len;
# 1134|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def13]
curl-8.11.1/build-minimal/src/../../src/tool_operate.c:847:9: warning[-Wanalyzer-malloc-leak]: leak of ‘*config.cert_type’
curl-8.11.1/build-minimal/src/../../src/tool_operate.c:3153:10: enter_function: entry to ‘operate’
curl-8.11.1/build-minimal/src/../../src/tool_operate.c:3165:6: branch_false: following ‘false’ branch (when ‘first_arg’ is NULL)...
curl-8.11.1/build-minimal/src/../../src/tool_operate.c:3179:5: branch_false: ...to here
curl-8.11.1/build-minimal/src/../../src/tool_operate.c:3179:5: branch_true: following ‘true’ branch (when ‘result == 0’)...
curl-8.11.1/build-minimal/src/../../src/tool_operate.c:3181:26: branch_true: ...to here
curl-8.11.1/build-minimal/src/../../src/tool_operate.c:3217:9: branch_true: following ‘true’ branch (when ‘result == 0’)...
curl-8.11.1/build-minimal/src/../../src/tool_operate.c:3219:33: branch_true: ...to here
curl-8.11.1/build-minimal/src/../../src/tool_operate.c:3221:11: branch_false: following ‘false’ branch...
curl-8.11.1/build-minimal/src/../../src/tool_operate.c:3230:11: branch_false: ...to here
curl-8.11.1/build-minimal/src/../../src/tool_operate.c:3249:20: call_function: calling ‘run_all_transfers’ from ‘operate’
#  845|       if(config->cert && !config->cert_type && is_pkcs11_uri(config->cert)) {
#  846|         config->cert_type = strdup("ENG");
#  847|->       if(!config->cert_type)
#  848|           return CURLE_OUT_OF_MEMORY;
#  849|       }

Error: GCC_ANALYZER_WARNING (CWE-688): [#def14]
curl-8.11.1/build-minimal/src/../../src/tool_writeout.c:421:7: warning[-Wanalyzer-null-argument]: use of NULL ‘strinfo’ where non-null expected
curl-8.11.1/build-minimal/src/../../src/tool_writeout.c:282:12: enter_function: entry to ‘writeString’
curl-8.11.1/build-minimal/src/../../src/tool_writeout.c:287:15: release_memory: ‘strinfo’ is NULL
curl-8.11.1/build-minimal/src/../../src/tool_writeout.c:294:5: branch_false: following ‘false’ branch...
curl-8.11.1/build-minimal/src/../../src/tool_writeout.c:315:12: branch_false: ...to here
curl-8.11.1/build-minimal/src/../../src/tool_writeout.c:401:9: branch_true: following ‘true’ branch...
curl-8.11.1/build-minimal/src/../../src/tool_writeout.c:402:13: branch_true: ...to here
curl-8.11.1/build-minimal/src/../../src/tool_writeout.c:402:13: call_function: calling ‘urlpart’ from ‘writeString’
curl-8.11.1/build-minimal/src/../../src/tool_writeout.c:402:13: return_function: returning to ‘writeString’ from ‘urlpart’
curl-8.11.1/build-minimal/src/../../src/tool_writeout.c:402:11: branch_true: following ‘true’ branch...
curl-8.11.1/build-minimal/src/../../src/tool_writeout.c:403:11: branch_true: ...to here
curl-8.11.1/build-minimal/src/../../src/tool_writeout.c:403:11: release_memory: ‘strinfo’ is NULL
curl-8.11.1/build-minimal/src/../../src/tool_writeout.c:416:7: branch_false: following ‘false’ branch (when ‘use_json == 0’)...
curl-8.11.1/build-minimal/src/../../src/tool_writeout.c:421:7: branch_false: ...to here
curl-8.11.1/build-minimal/src/../../src/tool_writeout.c:421:7: release_memory: ‘strinfo’ is NULL
curl-8.11.1/build-minimal/src/../../src/tool_writeout.c:421:7: danger: argument 1 (‘strinfo’) NULL where non-null expected
#  419|       }
#  420|       else
#  421|->       fputs(strinfo, stream);
#  422|     }
#  423|     else {

Error: CPPCHECK_WARNING (CWE-476): [#def15]
curl-8.11.1/lib/conncache.c:1030: warning[nullPointer]: Possible null pointer dereference: cpool
# 1028|     DEBUGASSERT(data || cpool);
# 1029|     if(!data)
# 1030|->     data = cpool->idata;
# 1031|   
# 1032|     /* the transfer must be detached from the connection */

Error: CPPCHECK_WARNING (CWE-457): [#def16]
curl-8.11.1/src/tool_getparam.c:1018: error[uninitvar]: Uninitialized variables: &key.desc, &key.letter, &key.cmd
# 1016|     key.lname = opt;
# 1017|   
# 1018|->   return bsearch(&key, aliases, sizeof(aliases)/sizeof(aliases[0]),
# 1019|                    sizeof(aliases[0]), findarg);
# 1020|   }

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
diffbase-analyzer-version-clippy1.86.0
diffbase-analyzer-version-cppcheck2.17.1
diffbase-analyzer-version-gcc15.0.1
diffbase-analyzer-version-gcc-analyzer15.0.1
diffbase-analyzer-version-shellcheck0.10.0
diffbase-analyzer-version-unicontrol0.0.2
diffbase-enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
diffbase-exit-code0
diffbase-hostip-172-16-1-145.us-west-2.compute.internal
diffbase-known-false-positives/usr/share/csmock/known-false-positives.js
diffbase-known-false-positives-rpmknown-false-positives-0.0.0.20250425.124705.g1c7c448.main-1.el9.noarch
diffbase-mock-configfedora-rawhide-x86_64
diffbase-project-namecurl-8.13.0-1.fc43
diffbase-store-results-to/tmp/tmp8euwceib/curl-8.13.0-1.fc43.tar.xz
diffbase-time-created2025-04-25 12:15:55
diffbase-time-finished2025-04-25 12:21:14
diffbase-toolcsmock
diffbase-tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'unicontrol,cppcheck,gcc,clippy,shellcheck' '-o' '/tmp/tmp8euwceib/curl-8.13.0-1.fc43.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmp8euwceib/curl-8.13.0-1.fc43.src.rpm'
diffbase-tool-versioncsmock-3.8.1.20250422.172604.g26bc3d6-1.el9
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-145.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-namecurl-8.11.1-4.fc42
store-results-to/tmp/tmp4q5qinpd/curl-8.11.1-4.fc42.tar.xz
time-created2025-04-25 12:11:05
time-finished2025-04-25 12:15:29
titleFixed findings
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'unicontrol,cppcheck,gcc,clippy,shellcheck' '-o' '/tmp/tmp4q5qinpd/curl-8.11.1-4.fc42.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmp4q5qinpd/curl-8.11.1-4.fc42.src.rpm'
tool-versioncsmock-3.8.1.20250422.172604.g26bc3d6-1.el9