Error: CPPCHECK_WARNING (CWE-476): [#def1] units-2.22/units.c:624: error[nullPointer]: Null pointer dereference # 622| len = strlen(str)+1; # 623| widestr = mymalloc(sizeof(wchar_t)*len, "(strwidth)"); # 624|-> len = mbsrtowcs(widestr, &str, len, NULL); # 625| # 626| if (len==-1){ Error: COMPILER_WARNING (CWE-563): [#def2] units-2.22/units.c: scope_hint: In function ‘readunits’ units-2.22/units.c:807:41: warning[-Wunused-value]: value computed is not used # 807 | #define readerror (goterr=1) && errfile && fprintf # | ^~ units-2.22/units.c:1648:9: note: in expansion of macro ‘readerror’ # 1648 | readerror(errfile, "%s: %s on line %d of '%s'\n", # | ^~~~~~~~~ # 805| # 806| # 807|-> #define readerror (goterr=1) && errfile && fprintf # 808| # 809| #define VAGUE_ERR "%s: error in units file '%s' line %d\n", \ Error: CPPCHECK_WARNING (CWE-401): [#def3] units-2.22/units.c:1411: error[memleakOnRealloc]: Common realloc mistake: 'tab' nulled but not freed upon failure # 1409| if (tabpt>=tablealloc){ # 1410| tablealloc+=20; # 1411|-> tab = (struct pair *)realloc(tab,sizeof(struct pair)*tablealloc); # 1412| if (!tab){ # 1413| if (errfile) fprintf(errfile, "%s: memory allocation error (newtable)\n", Error: CPPCHECK_WARNING (CWE-476): [#def4] units-2.22/units.c:2391: error[ctunullpointer]: Null pointer dereference: first # 2389| { # 2390| return # 2391|-> compareproducts(first->numerator, second->numerator, isdimless) || # 2392| compareproducts(first->denominator, second->denominator, isdimless); # 2393| } Error: COMPILER_WARNING (CWE-457): [#def5] units-2.22/units.c: scope_hint: In function ‘showfunction’ units-2.22/units.c:2872:8: warning[-Wmaybe-uninitialized]: ‘not_dimensionless’ may be used uninitialized # 2872 | if (not_dimensionless) # | ^ units-2.22/units.c:2828:7: note: ‘not_dimensionless’ was declared here # 2828 | int not_dimensionless, i; # | ^~~~~~~~~~~~~~~~~ # 2870| logputchar('\n'); # 2871| for(i=strwidth(deftext);i;i--) logputchar(' '); # 2872|-> if (not_dimensionless) # 2873| logprintf("%s has units %s",func->param, func->dimen); # 2874| else Error: CPPCHECK_WARNING (CWE-457): [#def6] units-2.22/units.c:3698: error[legacyUninitvar]: Uninitialized variable: indent # 3696| if (errors[i]) { # 3697| lastchar(unittext) = '0'+i; # 3698|-> printf("%s%s(",indent,infunc->name); # 3699| printf(num_format.format, factor); # 3700| printf("%s): %s\n", unittext, errormsg[errors[i]]); Error: COMPILER_WARNING (CWE-563): [#def7] units-2.22/units.c: scope_hint: In function ‘checkcwd’ units-2.22/units.c:4148:9: warning[-Wunused-variable]: unused variable ‘p’ # 4148 | char *p; # | ^ # 4146| { # 4147| FILE *fp; # 4148|-> char *p; # 4149| # 4150| fp = openfile(file, "r"); Error: CPPCHECK_WARNING (CWE-672): [#def8] units-2.22/units.c:4553: error[deallocret]: Returning/dereferencing 'file' after it is deallocated / released # 4551| else { # 4552| fclose(testfile); # 4553|-> return file; # 4554| } # 4555| } Error: COMPILER_WARNING (CWE-563): [#def9] units-2.22/units.c: scope_hint: In function ‘printversion’ units-2.22/units.c:4768:9: warning[-Wunused-variable]: unused variable ‘fp’ # 4768 | FILE *fp, *histfile; # | ^~ # 4766| char *m_unitsfile; /* personal units data file from HOME_UNITS_ENV */ # 4767| char *p_unitsfile; /* personal units data file */ # 4768|-> FILE *fp, *histfile; # 4769| #ifdef _WIN32 # 4770| char *localemap; Error: CPPCHECK_WARNING (CWE-476): [#def10] units-2.22/units.c:5577: warning[nullPointer]: Possible null pointer dereference: lastunitstr # 5575| if (!value_shown) { /* provide output if every value rounded to zero */ # 5576| logputs("0 "); # 5577|-> if (isdecimal(*lastunitstr)) # 5578| logputs("* "); # 5579| logputs(lastunitstr);
analyzer-version-clippy | 1.81.0 |
analyzer-version-cppcheck | 2.14.2 |
analyzer-version-gcc | 13.3.1 |
analyzer-version-gcc-analyzer | 13.3.1 |
analyzer-version-shellcheck | 0.9.0 |
analyzer-version-unicontrol | 0.0.2 |
enabled-plugins | clippy, cppcheck, gcc, shellcheck, unicontrol |
exit-code | 0 |
host | ip-172-16-1-78.us-west-2.compute.internal |
mock-config | fedora-39-x86_64 |
project-name | units-2.22-6.fc39 |
store-results-to | /tmp/csmockg98mb3_r/units-2.22-6.fc39/run0 |
time-created | 2024-09-23 15:31:27 |
time-finished | 2024-09-23 15:34:12 |
tool | csmock |
tool-args | '/usr/bin/csmock' '-r' 'fedora-39-x86_64' '-t' 'gcc,cppcheck,unicontrol,clippy,shellcheck' '-o' '/tmp/tmp01be6gv0/units-2.22-6.fc39.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--diff-patches' '/tmp/tmp01be6gv0/units-2.22-6.fc39.src.rpm' |
tool-version | csmock-3.7.0-1.el9 |