igvm-0.4.0-3.fc44

List of Findings

Error: COMPILER_WARNING (CWE-9001): [#def1]
igvm-igvm-v0.4.0/igvm_c/include/igvm.h:17: included_from: Included from here.
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:11: included_from: Included from here.
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c: scope_hint: In function ‘igvm_dump_variable_header’
igvm-igvm-v0.4.0/igvm_c/include/igvm_defs.h:46:38: warning[-Wstrict-aliasing]: dereferencing type-punned pointer will break strict-aliasing rules
#   46 | #define IGVM_UINT32_FLAGS_VALUE(x) *((uint32_t*)&(x))
#      |                                     ~^~~~~~~~~~~~~~~~
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:180:35: note: in expansion of macro ‘IGVM_UINT32_FLAGS_VALUE’
#  180 |         printf("  Flags: %08X\n", IGVM_UINT32_FLAGS_VALUE(vhs->flags));
#      |                                   ^~~~~~~~~~~~~~~~~~~~~~~
#   44|   typedef uint32_t IGVM_U32_LE;
#   45|   
#   46|-> #define IGVM_UINT32_FLAGS_VALUE(x) *((uint32_t*)&(x))
#   47|   
#   48|   

Error: COMPILER_WARNING (CWE-1164): [#def2]
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c: scope_hint: At top level
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:259:13: warning[-Wunused-function]: ‘igvm_dump_fixed_header’ defined but not used
#  259 | static void igvm_dump_fixed_header(IGVM_FIXED_HEADER *header)
#      |             ^~~~~~~~~~~~~~~~~~~~~~
#  257|   }
#  258|   
#  259|-> static void igvm_dump_fixed_header(IGVM_FIXED_HEADER *header)
#  260|   {
#  261|       printf("IGVM_FIXED_HEADER:\n");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def3]
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:275:17: warning[-Wanalyzer-malloc-leak]: leak of ‘igvm_buf’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:346:5: enter_function: entry to ‘main’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:9: call_function: calling ‘parse_args’ from ‘main’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:9: return_function: returning to ‘main’ from ‘parse_args’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:8: branch_false: following ‘false’ branch...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:360:10: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:361:8: branch_false: following ‘false’ branch...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:365:5: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:369:27: acquire_memory: allocated here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:370:8: branch_false: following ‘false’ branch (when ‘igvm_buf’ is non-NULL)...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:375:9: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:375:8: branch_false: following ‘false’ branch...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:381:5: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:383:11: call_function: calling ‘dump_igvm’ from ‘main’
#  273|   {
#  274|       IgvmHandle igvm;
#  275|->     if ((igvm = igvm_new_from_binary(igvm_buf, igvm_length)) < 0) {
#  276|           printf("Failed to parse IGVM file. Error code: %ld\n", igvm);
#  277|           return 1;

Error: COMPILER_WARNING: [#def4]
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c: scope_hint: In function ‘dump_igvm’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:276:58: warning[-Wformat=]: format ‘%ld’ expects argument of type ‘long int’, but argument 2 has type ‘IgvmHandle’ {aka ‘int’}
#  276 |         printf("Failed to parse IGVM file. Error code: %ld\n", igvm);
#      |                                                        ~~^     ~~~~
#      |                                                          |     |
#      |                                                          |     IgvmHandle {aka int}
#      |                                                          long int
#      |                                                        %d
#  274|       IgvmHandle igvm;
#  275|       if ((igvm = igvm_new_from_binary(igvm_buf, igvm_length)) < 0) {
#  276|->         printf("Failed to parse IGVM file. Error code: %ld\n", igvm);
#  277|           return 1;
#  278|       }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def5]
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:281:25: warning[-Wanalyzer-malloc-leak]: leak of ‘igvm_buf’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:346:5: enter_function: entry to ‘main’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:9: call_function: calling ‘parse_args’ from ‘main’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:9: return_function: returning to ‘main’ from ‘parse_args’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:8: branch_false: following ‘false’ branch...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:360:10: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:361:8: branch_false: following ‘false’ branch...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:365:5: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:369:27: acquire_memory: allocated here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:370:8: branch_false: following ‘false’ branch (when ‘igvm_buf’ is non-NULL)...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:375:9: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:375:8: branch_false: following ‘false’ branch...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:381:5: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:383:11: call_function: calling ‘dump_igvm’ from ‘main’
#  279|   
#  280|       for (long section = 0; section <= IGVM_HEADER_SECTION_DIRECTIVE; ++section) {
#  281|->         int32_t count = igvm_header_count(igvm, (IgvmHeaderSection)section);
#  282|           printf("----------------------------------------------------------\n"
#  283|                  "%s count = %ld\n\n",

Error: COMPILER_WARNING: [#def6]
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:282:16: warning[-Wformat=]: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘int32_t’ {aka ‘int’}
#  282 |         printf("----------------------------------------------------------\n"
#      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  283 |                "%s count = %ld\n\n",
#  284 |                section_name[section], count);
#      |                                       ~~~~~
#      |                                       |
#      |                                       int32_t {aka int}
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:283:30: note: format string is defined here
#  283 |                "%s count = %ld\n\n",
#      |                            ~~^
#      |                              |
#      |                              long int
#      |                            %d
#  280|       for (long section = 0; section <= IGVM_HEADER_SECTION_DIRECTIVE; ++section) {
#  281|           int32_t count = igvm_header_count(igvm, (IgvmHeaderSection)section);
#  282|->         printf("----------------------------------------------------------\n"
#  283|                  "%s count = %ld\n\n",
#  284|                  section_name[section], count);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def7]
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:287:42: warning[-Wanalyzer-malloc-leak]: leak of ‘igvm_buf’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:346:5: enter_function: entry to ‘main’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:9: call_function: calling ‘parse_args’ from ‘main’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:9: return_function: returning to ‘main’ from ‘parse_args’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:8: branch_false: following ‘false’ branch...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:360:10: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:361:8: branch_false: following ‘false’ branch...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:365:5: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:369:27: acquire_memory: allocated here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:370:8: branch_false: following ‘false’ branch (when ‘igvm_buf’ is non-NULL)...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:375:9: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:375:8: branch_false: following ‘false’ branch...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:381:5: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:383:11: call_function: calling ‘dump_igvm’ from ‘main’
#  285|           
#  286|           for (long i = 0; i < count; ++i) {
#  287|->             IgvmVariableHeaderType typ = igvm_get_header_type(igvm, section, i);
#  288|               if (typ > 0) {
#  289|                   IgvmHandle header_handle;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def8]
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:292:33: warning[-Wanalyzer-malloc-leak]: leak of ‘igvm_buf’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:346:5: enter_function: entry to ‘main’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:9: call_function: calling ‘parse_args’ from ‘main’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:9: return_function: returning to ‘main’ from ‘parse_args’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:8: branch_false: following ‘false’ branch...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:360:10: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:361:8: branch_false: following ‘false’ branch...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:365:5: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:369:27: acquire_memory: allocated here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:370:8: branch_false: following ‘false’ branch (when ‘igvm_buf’ is non-NULL)...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:375:9: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:375:8: branch_false: following ‘false’ branch...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:381:5: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:383:11: call_function: calling ‘dump_igvm’ from ‘main’
#  290|                   IgvmHandle header_data;
#  291|                   
#  292|->                 header_handle = igvm_get_header(igvm, section, i);
#  293|                   if (header_handle < 0) {
#  294|                       printf("Invalid header (%ld)\n", header_handle);

Error: COMPILER_WARNING: [#def9]
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:294:47: warning[-Wformat=]: format ‘%ld’ expects argument of type ‘long int’, but argument 2 has type ‘IgvmHandle’ {aka ‘int’}
#  294 |                     printf("Invalid header (%ld)\n", header_handle);
#      |                                             ~~^      ~~~~~~~~~~~~~
#      |                                               |      |
#      |                                               |      IgvmHandle {aka int}
#      |                                               long int
#      |                                             %d
#  292|                   header_handle = igvm_get_header(igvm, section, i);
#  293|                   if (header_handle < 0) {
#  294|->                     printf("Invalid header (%ld)\n", header_handle);
#  295|                       return 1;
#  296|                   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def10]
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:297:70: warning[-Wanalyzer-malloc-leak]: leak of ‘igvm_buf’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:346:5: enter_function: entry to ‘main’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:9: call_function: calling ‘parse_args’ from ‘main’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:9: return_function: returning to ‘main’ from ‘parse_args’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:8: branch_false: following ‘false’ branch...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:360:10: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:361:8: branch_false: following ‘false’ branch...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:365:5: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:369:27: acquire_memory: allocated here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:370:8: branch_false: following ‘false’ branch (when ‘igvm_buf’ is non-NULL)...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:375:9: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:375:8: branch_false: following ‘false’ branch...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:381:5: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:383:11: call_function: calling ‘dump_igvm’ from ‘main’
#  295|                       return 1;
#  296|                   }
#  297|->                 igvm_dump_variable_header((IGVM_VHS_VARIABLE_HEADER*)igvm_get_buffer(igvm, header_handle));
#  298|                   igvm_free_buffer(igvm, header_handle);
#  299|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def11]
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:365:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(filename, "rb")’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:346:5: enter_function: entry to ‘main’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:9: call_function: calling ‘parse_args’ from ‘main’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:9: return_function: returning to ‘main’ from ‘parse_args’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:8: branch_false: following ‘false’ branch...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:360:10: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:360:10: acquire_resource: opened here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:361:8: branch_false: following ‘false’ branch...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:365:5: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:365:5: danger: ‘fopen(filename, "rb")’ leaks here; was opened at [(9)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/8)
#  363|           return 1;
#  364|       }
#  365|->     fseek(fp, 0, SEEK_END);
#  366|       length = ftell(fp);
#  367|       fseek(fp, 0, SEEK_SET);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def12]
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:365:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(filename, "rb")’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:346:5: enter_function: entry to ‘main’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:9: call_function: calling ‘parse_args’ from ‘main’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:9: return_function: returning to ‘main’ from ‘parse_args’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:8: branch_false: following ‘false’ branch...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:360:10: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:360:10: acquire_memory: allocated here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:361:8: branch_false: following ‘false’ branch...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:365:5: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:365:5: danger: ‘fopen(filename, "rb")’ leaks here; was allocated at [(9)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/8)
#  363|           return 1;
#  364|       }
#  365|->     fseek(fp, 0, SEEK_END);
#  366|       length = ftell(fp);
#  367|       fseek(fp, 0, SEEK_SET);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def13]
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:366:14: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(filename, "rb")’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:346:5: enter_function: entry to ‘main’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:9: call_function: calling ‘parse_args’ from ‘main’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:9: return_function: returning to ‘main’ from ‘parse_args’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:8: branch_false: following ‘false’ branch...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:360:10: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:360:10: acquire_resource: opened here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:361:8: branch_false: following ‘false’ branch...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:365:5: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:366:14: danger: ‘fopen(filename, "rb")’ leaks here; was opened at [(9)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/8)
#  364|       }
#  365|       fseek(fp, 0, SEEK_END);
#  366|->     length = ftell(fp);
#  367|       fseek(fp, 0, SEEK_SET);
#  368|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def14]
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:366:14: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(filename, "rb")’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:346:5: enter_function: entry to ‘main’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:9: call_function: calling ‘parse_args’ from ‘main’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:9: return_function: returning to ‘main’ from ‘parse_args’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:8: branch_false: following ‘false’ branch...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:360:10: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:360:10: acquire_memory: allocated here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:361:8: branch_false: following ‘false’ branch...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:365:5: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:366:14: danger: ‘fopen(filename, "rb")’ leaks here; was allocated at [(9)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/8)
#  364|       }
#  365|       fseek(fp, 0, SEEK_END);
#  366|->     length = ftell(fp);
#  367|       fseek(fp, 0, SEEK_SET);
#  368|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def15]
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:367:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(filename, "rb")’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:346:5: enter_function: entry to ‘main’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:9: call_function: calling ‘parse_args’ from ‘main’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:9: return_function: returning to ‘main’ from ‘parse_args’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:8: branch_false: following ‘false’ branch...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:360:10: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:360:10: acquire_resource: opened here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:361:8: branch_false: following ‘false’ branch...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:365:5: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:367:5: danger: ‘fopen(filename, "rb")’ leaks here; was opened at [(9)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/8)
#  365|       fseek(fp, 0, SEEK_END);
#  366|       length = ftell(fp);
#  367|->     fseek(fp, 0, SEEK_SET);
#  368|   
#  369|       igvm_buf = (uint8_t *)malloc(length);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def16]
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:367:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(filename, "rb")’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:346:5: enter_function: entry to ‘main’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:9: call_function: calling ‘parse_args’ from ‘main’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:9: return_function: returning to ‘main’ from ‘parse_args’
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:352:8: branch_false: following ‘false’ branch...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:360:10: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:360:10: acquire_memory: allocated here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:361:8: branch_false: following ‘false’ branch...
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:365:5: branch_false: ...to here
igvm-igvm-v0.4.0/igvm_c/sample/dump_igvm.c:367:5: danger: ‘fopen(filename, "rb")’ leaks here; was allocated at [(9)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/8)
#  365|       fseek(fp, 0, SEEK_END);
#  366|       length = ftell(fp);
#  367|->     fseek(fp, 0, SEEK_SET);
#  368|   
#  369|       igvm_buf = (uint8_t *)malloc(length);

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-14.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-nameigvm-0.4.0-3.fc44
store-results-to/tmp/tmpvlf34uik/igvm-0.4.0-3.fc44.tar.xz
time-created2025-10-28 18:14:16
time-finished2025-10-28 18:18:42
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-gcc-latest-x86_64' '-t' 'gcc,cppcheck,shellcheck,clippy,unicontrol' '-o' '/tmp/tmpvlf34uik/igvm-0.4.0-3.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--install=gcc-latest' '--gcc-analyzer-bin=/opt/gcc-latest/bin/gcc' '/tmp/tmpvlf34uik/igvm-0.4.0-3.fc44.src.rpm'
tool-versioncsmock-3.8.3.20251027.143044.ge6b947b-1.el9