libbytesize-2.11-104.fc44

List of Findings

Error: CPPCHECK_WARNING (CWE-476): [#def1]
libbytesize-2.11/src/bs_size.c:112: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: size
#  110|   static void bs_size_init (BSSize size) {
#  111|       /* let's start with 64 bits of space */
#  112|->     mpz_init2 (size->bytes, (mp_bitcnt_t) 64);
#  113|   }
#  114|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def2]
libbytesize-2.11/src/bs_size.c:243:5: warning[-Wanalyzer-malloc-leak]: leak of 'replace_char_with_str(size_str, 46,  radix_char)'
libbytesize-2.11/src/bs_size.c:437:8: enter_function: entry to 'bs_size_new_from_str'
libbytesize-2.11/src/bs_size.c:470:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:492:20: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:492:20: call_function: calling 'replace_char_with_str' from 'bs_size_new_from_str'
libbytesize-2.11/src/bs_size.c:492:20: return_function: returning to 'bs_size_new_from_str' from 'replace_char_with_str'
libbytesize-2.11/src/bs_size.c:493:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:498:15: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:504:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:512:14: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:513:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:526:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:535:5: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:540:8: branch_true: following 'true' branch...
libbytesize-2.11/src/bs_size.c:542:14: call_function: calling 'multiply_size_by_unit' from 'bs_size_new_from_str'
#  241|           }
#  242|   
#  243|->     mpfr_init2 (dec_mul, BS_FLOAT_PREC_BITS);
#  244|       mpfr_set_ui (dec_mul, 1000, MPFR_RNDN);
#  245|       for (dunit=BS_DUNIT_B; dunit < BS_DUNIT_UNDEF; dunit++)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def3]
libbytesize-2.11/src/bs_size.c:248:13: warning[-Wanalyzer-malloc-leak]: leak of 'replace_char_with_str(size_str, 46,  radix_char)'
libbytesize-2.11/src/bs_size.c:437:8: enter_function: entry to 'bs_size_new_from_str'
libbytesize-2.11/src/bs_size.c:470:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:492:20: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:492:20: call_function: calling 'replace_char_with_str' from 'bs_size_new_from_str'
libbytesize-2.11/src/bs_size.c:492:20: return_function: returning to 'bs_size_new_from_str' from 'replace_char_with_str'
libbytesize-2.11/src/bs_size.c:493:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:498:15: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:504:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:512:14: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:513:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:526:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:535:5: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:540:8: branch_true: following 'true' branch...
libbytesize-2.11/src/bs_size.c:542:14: call_function: calling 'multiply_size_by_unit' from 'bs_size_new_from_str'
#  246|           if (strncasecmp (unit_str, d_units[dunit-BS_DUNIT_B], unit_str_len) == 0) {
#  247|               pwr = (uint64_t) (dunit - BS_DUNIT_B);
#  248|->             mpfr_pow_ui (dec_mul, dec_mul, pwr, MPFR_RNDN);
#  249|               mpfr_mul (size, size, dec_mul, MPFR_RNDN);
#  250|               mpfr_clear (dec_mul);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def4]
libbytesize-2.11/src/bs_size.c:249:13: warning[-Wanalyzer-malloc-leak]: leak of 'replace_char_with_str(size_str, 46,  radix_char)'
libbytesize-2.11/src/bs_size.c:437:8: enter_function: entry to 'bs_size_new_from_str'
libbytesize-2.11/src/bs_size.c:470:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:492:20: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:492:20: call_function: calling 'replace_char_with_str' from 'bs_size_new_from_str'
libbytesize-2.11/src/bs_size.c:492:20: return_function: returning to 'bs_size_new_from_str' from 'replace_char_with_str'
libbytesize-2.11/src/bs_size.c:493:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:498:15: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:504:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:512:14: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:513:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:526:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:535:5: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:540:8: branch_true: following 'true' branch...
libbytesize-2.11/src/bs_size.c:542:14: call_function: calling 'multiply_size_by_unit' from 'bs_size_new_from_str'
#  247|               pwr = (uint64_t) (dunit - BS_DUNIT_B);
#  248|               mpfr_pow_ui (dec_mul, dec_mul, pwr, MPFR_RNDN);
#  249|->             mpfr_mul (size, size, dec_mul, MPFR_RNDN);
#  250|               mpfr_clear (dec_mul);
#  251|               return true;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def5]
libbytesize-2.11/src/bs_size.c:250:13: warning[-Wanalyzer-malloc-leak]: leak of 'replace_char_with_str(size_str, 46,  radix_char)'
libbytesize-2.11/src/bs_size.c:437:8: enter_function: entry to 'bs_size_new_from_str'
libbytesize-2.11/src/bs_size.c:470:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:492:20: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:492:20: call_function: calling 'replace_char_with_str' from 'bs_size_new_from_str'
libbytesize-2.11/src/bs_size.c:492:20: return_function: returning to 'bs_size_new_from_str' from 'replace_char_with_str'
libbytesize-2.11/src/bs_size.c:493:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:498:15: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:504:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:512:14: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:513:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:526:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:535:5: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:540:8: branch_true: following 'true' branch...
libbytesize-2.11/src/bs_size.c:542:14: call_function: calling 'multiply_size_by_unit' from 'bs_size_new_from_str'
#  248|               mpfr_pow_ui (dec_mul, dec_mul, pwr, MPFR_RNDN);
#  249|               mpfr_mul (size, size, dec_mul, MPFR_RNDN);
#  250|->             mpfr_clear (dec_mul);
#  251|               return true;
#  252|           }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def6]
libbytesize-2.11/src/bs_size.c:263:5: warning[-Wanalyzer-malloc-leak]: leak of 'replace_char_with_str(size_str, 46,  radix_char)'
libbytesize-2.11/src/bs_size.c:437:8: enter_function: entry to 'bs_size_new_from_str'
libbytesize-2.11/src/bs_size.c:470:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:492:20: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:492:20: call_function: calling 'replace_char_with_str' from 'bs_size_new_from_str'
libbytesize-2.11/src/bs_size.c:492:20: return_function: returning to 'bs_size_new_from_str' from 'replace_char_with_str'
libbytesize-2.11/src/bs_size.c:493:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:498:15: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:504:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:512:14: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:513:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:526:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:535:5: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:540:8: branch_true: following 'true' branch...
libbytesize-2.11/src/bs_size.c:542:14: call_function: calling 'multiply_size_by_unit' from 'bs_size_new_from_str'
#  261|           }
#  262|   
#  263|->     mpfr_init2 (dec_mul, BS_FLOAT_PREC_BITS);
#  264|       mpfr_set_ui (dec_mul, 1000, MPFR_RNDN);
#  265|       for (dunit=BS_DUNIT_B; dunit < BS_DUNIT_UNDEF; dunit++)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def7]
libbytesize-2.11/src/bs_size.c:535:5: warning[-Wanalyzer-malloc-leak]: leak of 'replace_char_with_str(size_str, 46,  radix_char)'
libbytesize-2.11/src/bs_size.c:437:8: enter_function: entry to 'bs_size_new_from_str'
libbytesize-2.11/src/bs_size.c:470:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:492:20: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:492:20: call_function: calling 'replace_char_with_str' from 'bs_size_new_from_str'
libbytesize-2.11/src/bs_size.c:492:20: return_function: returning to 'bs_size_new_from_str' from 'replace_char_with_str'
libbytesize-2.11/src/bs_size.c:493:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:498:15: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:504:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:512:14: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:513:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:526:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:535:5: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:535:5: danger: 'replace_char_with_str(size_str, 46,  radix_char)' leaks here; was allocated at [(11)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/10)
#  533|       }
#  534|       /* but use MPFR from now on because GMP thinks 0.1*1000 = 99 */
#  535|->     mpfr_init2 (size, BS_FLOAT_PREC_BITS);
#  536|       mpfr_set_f (size, parsed_size, MPFR_RNDN);
#  537|       mpf_clear (parsed_size);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def8]
libbytesize-2.11/src/bs_size.c:536:5: warning[-Wanalyzer-malloc-leak]: leak of 'replace_char_with_str(size_str, 46,  radix_char)'
libbytesize-2.11/src/bs_size.c:437:8: enter_function: entry to 'bs_size_new_from_str'
libbytesize-2.11/src/bs_size.c:470:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:492:20: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:492:20: call_function: calling 'replace_char_with_str' from 'bs_size_new_from_str'
libbytesize-2.11/src/bs_size.c:492:20: return_function: returning to 'bs_size_new_from_str' from 'replace_char_with_str'
libbytesize-2.11/src/bs_size.c:493:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:498:15: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:504:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:512:14: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:513:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:526:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:535:5: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:536:5: danger: 'replace_char_with_str(size_str, 46,  radix_char)' leaks here; was allocated at [(11)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/10)
#  534|       /* but use MPFR from now on because GMP thinks 0.1*1000 = 99 */
#  535|       mpfr_init2 (size, BS_FLOAT_PREC_BITS);
#  536|->     mpfr_set_f (size, parsed_size, MPFR_RNDN);
#  537|       mpf_clear (parsed_size);
#  538|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def9]
libbytesize-2.11/src/bs_size.c:557:5: warning[-Wanalyzer-malloc-leak]: leak of 'replace_char_with_str(size_str, 46,  radix_char)'
libbytesize-2.11/src/bs_size.c:437:8: enter_function: entry to 'bs_size_new_from_str'
libbytesize-2.11/src/bs_size.c:470:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:492:20: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:492:20: call_function: calling 'replace_char_with_str' from 'bs_size_new_from_str'
libbytesize-2.11/src/bs_size.c:492:20: return_function: returning to 'bs_size_new_from_str' from 'replace_char_with_str'
libbytesize-2.11/src/bs_size.c:493:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:498:15: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:504:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:512:14: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:513:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:526:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:535:5: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:557:5: danger: 'replace_char_with_str(size_str, 46,  radix_char)' leaks here; was allocated at [(11)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/10)
#  555|   
#  556|       ret = bs_size_new ();
#  557|->     mpfr_get_z (ret->bytes, size, MPFR_RNDZ);
#  558|   
#  559|       free (loc_size_str);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def10]
libbytesize-2.11/src/bs_size.c:560:5: warning[-Wanalyzer-malloc-leak]: leak of 'replace_char_with_str(size_str, 46,  radix_char)'
libbytesize-2.11/src/bs_size.c:437:8: enter_function: entry to 'bs_size_new_from_str'
libbytesize-2.11/src/bs_size.c:470:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:492:20: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:492:20: call_function: calling 'replace_char_with_str' from 'bs_size_new_from_str'
libbytesize-2.11/src/bs_size.c:492:20: return_function: returning to 'bs_size_new_from_str' from 'replace_char_with_str'
libbytesize-2.11/src/bs_size.c:493:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:498:15: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:504:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:512:14: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:513:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:526:8: branch_false: following 'false' branch...
libbytesize-2.11/src/bs_size.c:535:5: branch_false: ...to here
libbytesize-2.11/src/bs_size.c:556:11: call_function: calling 'bs_size_new' from 'bs_size_new_from_str'
#  558|   
#  559|       free (loc_size_str);
#  560|->     mpfr_clear (size);
#  561|   
#  562|       return ret;

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-195.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-namelibbytesize-2.11-104.fc44
store-results-to/tmp/tmpe2v5av7c/libbytesize-2.11-104.fc44.tar.xz
time-created2025-10-28 18:52:47
time-finished2025-10-28 18:54:08
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-gcc-latest-x86_64' '-t' 'gcc,cppcheck,shellcheck,clippy,unicontrol' '-o' '/tmp/tmpe2v5av7c/libbytesize-2.11-104.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--install=gcc-latest' '--gcc-analyzer-bin=/opt/gcc-latest/bin/gcc' '/tmp/tmpe2v5av7c/libbytesize-2.11-104.fc44.src.rpm'
tool-versioncsmock-3.8.3.20251027.143044.ge6b947b-1.el9