Fixed findings

List of Findings

Error: GCC_ANALYZER_WARNING (CWE-775): [#def1]
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:310:23: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stderr_old’
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:91:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:194:16: branch_false: following ‘false’ branch (when ‘max_iterations != 0’)...
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:199:48: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:224:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:225:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:225:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:229:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:234:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:237:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:237:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:237:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:241:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:286:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:289:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:290:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:289:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:294:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:296:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:298:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:299:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:298:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:303:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:305:8: branch_true: following ‘true’ branch (when ‘explicit_iterations != 0’)...
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:307:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:308:34: branch_true: following ‘true’ branch (when ‘max_iterations > i’)...
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:310:23: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:310:23: danger: ‘stderr_old’ leaks here; was opened at [(21)](sarif:/runs/0/results/24/codeFlows/0/threadFlows/0/locations/20)
#  308|           for (unsigned int i = 0; i < max_iterations; i++) {
#  309|   #ifdef KEYMAP_DUMP
#  310|->             char *s = xkb_keymap_get_as_string(keymap, keymap_output_format);
#  311|               assert(s);
#  312|               free(s);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def2]
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:310:23: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdout_old’
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:91:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:194:16: branch_false: following ‘false’ branch (when ‘max_iterations != 0’)...
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:199:48: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:224:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:225:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:225:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:229:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:234:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:237:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:237:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:237:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:241:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:286:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:287:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:289:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:290:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:289:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:294:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:298:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:299:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:298:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:303:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:305:8: branch_true: following ‘true’ branch (when ‘explicit_iterations != 0’)...
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:307:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:308:34: branch_true: following ‘true’ branch (when ‘max_iterations > i’)...
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:310:23: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compile-keymap.c:310:23: danger: ‘stdout_old’ leaks here; was opened at [(17)](sarif:/runs/0/results/25/codeFlows/0/threadFlows/0/locations/16)
#  308|           for (unsigned int i = 0; i < max_iterations; i++) {
#  309|   #ifdef KEYMAP_DUMP
#  310|->             char *s = xkb_keymap_get_as_string(keymap, keymap_output_format);
#  311|               assert(s);
#  312|               free(s);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def3]
libxkbcommon-xkbcommon-1.11.0/bench/compose-traversal.c:55:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’
libxkbcommon-xkbcommon-1.11.0/bench/compose-traversal.c:43:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compose-traversal.c:45:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compose-traversal.c:46:12: acquire_resource: opened here
libxkbcommon-xkbcommon-1.11.0/bench/compose-traversal.c:47:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compose-traversal.c:53:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compose-traversal.c:55:5: danger: ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’ leaks here; was opened at [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#   53|       free(path);
#   54|   
#   55|->     xkb_context_set_log_level(ctx, XKB_LOG_LEVEL_CRITICAL);
#   56|       xkb_context_set_log_verbosity(ctx, 0);
#   57|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def4]
libxkbcommon-xkbcommon-1.11.0/bench/compose-traversal.c:55:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’
libxkbcommon-xkbcommon-1.11.0/bench/compose-traversal.c:43:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compose-traversal.c:45:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compose-traversal.c:46:12: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.11.0/bench/compose-traversal.c:47:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compose-traversal.c:53:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compose-traversal.c:55:5: danger: ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/2)
#   53|       free(path);
#   54|   
#   55|->     xkb_context_set_log_level(ctx, XKB_LOG_LEVEL_CRITICAL);
#   56|       xkb_context_set_log_verbosity(ctx, 0);
#   57|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def5]
libxkbcommon-xkbcommon-1.11.0/bench/compose-traversal.c:56:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’
libxkbcommon-xkbcommon-1.11.0/bench/compose-traversal.c:43:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compose-traversal.c:45:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compose-traversal.c:46:12: acquire_resource: opened here
libxkbcommon-xkbcommon-1.11.0/bench/compose-traversal.c:47:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compose-traversal.c:53:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compose-traversal.c:56:5: danger: ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’ leaks here; was opened at [(3)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/2)
#   54|   
#   55|       xkb_context_set_log_level(ctx, XKB_LOG_LEVEL_CRITICAL);
#   56|->     xkb_context_set_log_verbosity(ctx, 0);
#   57|   
#   58|       table = xkb_compose_table_new_from_file(ctx, file, "",

Error: GCC_ANALYZER_WARNING (CWE-401): [#def6]
libxkbcommon-xkbcommon-1.11.0/bench/compose-traversal.c:56:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’
libxkbcommon-xkbcommon-1.11.0/bench/compose-traversal.c:43:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compose-traversal.c:45:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compose-traversal.c:46:12: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.11.0/bench/compose-traversal.c:47:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compose-traversal.c:53:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compose-traversal.c:56:5: danger: ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/2)
#   54|   
#   55|       xkb_context_set_log_level(ctx, XKB_LOG_LEVEL_CRITICAL);
#   56|->     xkb_context_set_log_verbosity(ctx, 0);
#   57|   
#   58|       table = xkb_compose_table_new_from_file(ctx, file, "",

Error: GCC_ANALYZER_WARNING (CWE-775): [#def7]
libxkbcommon-xkbcommon-1.11.0/bench/compose.c:39:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’
libxkbcommon-xkbcommon-1.11.0/bench/compose.c:28:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compose.c:30:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compose.c:31:12: acquire_resource: opened here
libxkbcommon-xkbcommon-1.11.0/bench/compose.c:32:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compose.c:39:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compose.c:39:5: danger: ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’ leaks here; was opened at [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#   37|       }
#   38|   
#   39|->     xkb_context_set_log_level(ctx, XKB_LOG_LEVEL_CRITICAL);
#   40|       xkb_context_set_log_verbosity(ctx, 0);
#   41|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def8]
libxkbcommon-xkbcommon-1.11.0/bench/compose.c:39:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’
libxkbcommon-xkbcommon-1.11.0/bench/compose.c:28:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compose.c:30:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compose.c:31:12: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.11.0/bench/compose.c:32:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compose.c:39:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compose.c:39:5: danger: ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/2)
#   37|       }
#   38|   
#   39|->     xkb_context_set_log_level(ctx, XKB_LOG_LEVEL_CRITICAL);
#   40|       xkb_context_set_log_verbosity(ctx, 0);
#   41|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def9]
libxkbcommon-xkbcommon-1.11.0/bench/compose.c:40:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’
libxkbcommon-xkbcommon-1.11.0/bench/compose.c:28:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compose.c:30:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compose.c:31:12: acquire_resource: opened here
libxkbcommon-xkbcommon-1.11.0/bench/compose.c:32:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compose.c:39:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compose.c:40:5: danger: ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’ leaks here; was opened at [(3)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/2)
#   38|   
#   39|       xkb_context_set_log_level(ctx, XKB_LOG_LEVEL_CRITICAL);
#   40|->     xkb_context_set_log_verbosity(ctx, 0);
#   41|   
#   42|       bench_start(&bench);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def10]
libxkbcommon-xkbcommon-1.11.0/bench/compose.c:40:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’
libxkbcommon-xkbcommon-1.11.0/bench/compose.c:28:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compose.c:30:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compose.c:31:12: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.11.0/bench/compose.c:32:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/bench/compose.c:39:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/bench/compose.c:40:5: danger: ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/2)
#   38|   
#   39|       xkb_context_set_log_level(ctx, XKB_LOG_LEVEL_CRITICAL);
#   40|->     xkb_context_set_log_verbosity(ctx, 0);
#   41|   
#   42|       bench_start(&bench);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def11]
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:194:5: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:150:1: enter_function: entry to ‘xkb_compose_table_new_from_locale’
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:159:8: branch_false: following ‘false’ branch (when ‘flags == 0’)...
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:165:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:165:13: call_function: calling ‘xkb_compose_table_new’ from ‘xkb_compose_table_new_from_locale’
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:165:13: return_function: returning to ‘xkb_compose_table_new_from_locale’ from ‘xkb_compose_table_new’
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:167:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:170:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:172:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:174:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:178:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:180:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:184:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:186:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:190:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:192:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:194:5: danger: ‘<unknown>’ leaks here; was allocated at [(10)](sarif:/runs/0/results/25/codeFlows/0/threadFlows/0/locations/9)
#  192|       free(path);
#  193|   
#  194|->     log_err(ctx, XKB_LOG_MESSAGE_NO_ID,
#  195|               "couldn't find a Compose file for locale \"%s\" (mapped to \"%s\")\n",
#  196|               locale, table->locale);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def12]
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:194:5: warning[-Wanalyzer-malloc-leak]: leak of ‘xkb_compose_table_new(ctx,  locale, 1, 0)’
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:150:1: enter_function: entry to ‘xkb_compose_table_new_from_locale’
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:159:8: branch_false: following ‘false’ branch (when ‘flags == 0’)...
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:165:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:165:13: call_function: calling ‘xkb_compose_table_new’ from ‘xkb_compose_table_new_from_locale’
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:165:13: return_function: returning to ‘xkb_compose_table_new_from_locale’ from ‘xkb_compose_table_new’
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:167:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:170:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:172:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:174:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:178:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:180:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:184:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:186:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:190:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:192:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/src/compose/table.c:194:5: danger: ‘xkb_compose_table_new(ctx,  locale, 1, 0)’ leaks here; was allocated at [(8)](sarif:/runs/0/results/24/codeFlows/0/threadFlows/0/locations/7)
#  192|       free(path);
#  193|   
#  194|->     log_err(ctx, XKB_LOG_MESSAGE_NO_ID,
#  195|               "couldn't find a Compose file for locale \"%s\" (mapped to \"%s\")\n",
#  196|               locale, table->locale);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def13]
libxkbcommon-xkbcommon-1.11.0/src/utils.h:105:12: warning[-Wanalyzer-malloc-leak]: leak of ‘next_incl.name’
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:697:1: enter_function: entry to ‘CompileKeycodes’
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:703:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:704:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:704:9: call_function: calling ‘HandleKeycodesFile’ from ‘CompileKeycodes’
#  103|   istreq(const char *s1, const char *s2)
#  104|   {
#  105|->     return istrcmp(s1, s2) == 0;
#  106|   }
#  107|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def14]
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:206:9: warning[-Wanalyzer-malloc-leak]: leak of ‘next_incl.name’
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:697:1: enter_function: entry to ‘CompileKeycodes’
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:703:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:704:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:704:9: call_function: calling ‘HandleKeycodesFile’ from ‘CompileKeycodes’
#  204|       /* Check keycode is not too huge for our continuous array */
#  205|       if (kc > XKB_KEYCODE_MAX_IMPL) {
#  206|->         log_err(info->ctx, XKB_LOG_MESSAGE_NO_ID,
#  207|                   "Keycode too big: must be < %#"PRIx32", got %#"PRIx32"; "
#  208|                   "Key ignored\n", XKB_KEYCODE_MAX_IMPL, kc);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def15]
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:380:9: warning[-Wanalyzer-malloc-leak]: leak of ‘info.name’
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:697:1: enter_function: entry to ‘CompileKeycodes’
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:703:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:704:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:704:9: call_function: calling ‘HandleKeycodesFile’ from ‘CompileKeycodes’
#  378|       KeyNamesInfo included;
#  379|   
#  380|->     if (ExceedsIncludeMaxDepth(info->ctx, info->include_depth)) {
#  381|           info->errorCount += 10;
#  382|           return false;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def16]
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:380:9: warning[-Wanalyzer-malloc-leak]: leak of ‘next_incl.name’
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:697:1: enter_function: entry to ‘CompileKeycodes’
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:703:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:704:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:704:9: call_function: calling ‘HandleKeycodesFile’ from ‘CompileKeycodes’
#  378|       KeyNamesInfo included;
#  379|   
#  380|->     if (ExceedsIncludeMaxDepth(info->ctx, info->include_depth)) {
#  381|           info->errorCount += 10;
#  382|           return false;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def17]
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:392:16: warning[-Wanalyzer-malloc-leak]: leak of ‘next_incl.name’
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:697:1: enter_function: entry to ‘CompileKeycodes’
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:703:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:704:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:704:9: call_function: calling ‘HandleKeycodesFile’ from ‘CompileKeycodes’
#  390|           XkbFile *file;
#  391|   
#  392|->         file = ProcessIncludeFile(info->ctx, stmt, FILE_TYPE_KEYCODES);
#  393|           if (!file) {
#  394|               info->errorCount += 10;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def18]
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:419:9: warning[-Wanalyzer-malloc-leak]: leak of ‘next_incl.name’
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:697:1: enter_function: entry to ‘CompileKeycodes’
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:703:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:704:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:704:9: call_function: calling ‘HandleKeycodesFile’ from ‘CompileKeycodes’
#  417|   {
#  418|       if (stmt->value < 0 || stmt->value > XKB_KEYCODE_MAX) {
#  419|->         log_err(info->ctx, XKB_LOG_MESSAGE_NO_ID,
#  420|                   "Illegal keycode %"PRId64": must be between 0..%u; "
#  421|                   "Key ignored\n", stmt->value, XKB_KEYCODE_MAX);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def19]
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:465:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:697:1: enter_function: entry to ‘CompileKeycodes’
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:703:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:704:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:704:9: call_function: calling ‘HandleKeycodesFile’ from ‘CompileKeycodes’
#  463|   
#  464|       InitAliasInfo(&new, def->merge, def->alias, def->real);
#  465|->     darray_append(info->aliases, new);
#  466|       return true;
#  467|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def20]
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:475:10: warning[-Wanalyzer-malloc-leak]: leak of ‘next_incl.name’
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:697:1: enter_function: entry to ‘CompileKeycodes’
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:703:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:704:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:704:9: call_function: calling ‘HandleKeycodesFile’ from ‘CompileKeycodes’
#  473|       ExprDef *arrayNdx;
#  474|   
#  475|->     if (!ExprResolveLhs(info->ctx, stmt->name, &elem, &field, &arrayNdx))
#  476|           return false;
#  477|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def21]
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:479:9: warning[-Wanalyzer-malloc-leak]: leak of ‘next_incl.name’
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:697:1: enter_function: entry to ‘CompileKeycodes’
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:703:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:704:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:704:9: call_function: calling ‘HandleKeycodesFile’ from ‘CompileKeycodes’
#  477|   
#  478|       if (elem) {
#  479|->         log_err(info->ctx, XKB_ERROR_GLOBAL_DEFAULTS_WRONG_SCOPE,
#  480|                   "Cannot set global defaults for \"%s\" element; "
#  481|                   "Assignment to \"%s.%s\" ignored\n", elem, elem, field);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def22]
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:526:27: warning[-Wanalyzer-malloc-leak]: leak of ‘next_incl.name’
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:697:1: enter_function: entry to ‘CompileKeycodes’
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:703:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:704:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keycodes.c:704:9: call_function: calling ‘HandleKeycodesFile’ from ‘CompileKeycodes’
#  524|       /* Conflicts in the same file probably require more attention than conflicts
#  525|        * with included files. */
#  526|->     const int verbosity = xkb_context_get_log_verbosity(info->ctx);
#  527|       const bool report_same_file = verbosity > 0;
#  528|       const bool report_include   = verbosity > 7;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def23]
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keymap.c:151:25: warning[-Wanalyzer-malloc-leak]: leak of ‘interprets.item’
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keymap.c:333:1: enter_function: entry to ‘UpdateDerivedKeymapFields’
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keymap.c:338:5: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keymap.c:339:14: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/keymap.c:339:14: call_function: calling ‘ApplyInterpsToKey’ from ‘UpdateDerivedKeymapFields’
#  149|                            * NOLINTNEXTLINE(clang-analyzer-deadcode.DeadStores) */
#  150|                           found = false;
#  151|->                         log_warn(keymap->ctx, XKB_LOG_MESSAGE_NO_ID,
#  152|                                    "Repeated interpretation ignored for keysym "
#  153|                                    "#%d \"%s\" at level %"PRIu32"/group %"PRIu32" "

Error: GCC_ANALYZER_WARNING (CWE-401): [#def24]
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/parser.y:978:33: warning[-Wanalyzer-malloc-leak]: leak of ‘yyptr’
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/parser.y:1021:1: enter_function: entry to ‘parse’
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/parser.y:1040:19: call_function: calling ‘_xkbcommon_parse’ from ‘parse’
#  976|                                       $$ = XKB_KEY_NoSymbol;
#  977|                                   }
#  978|->                                 parser_warn(
#  979|                                       param, XKB_WARNING_NUMERIC_KEYSYM,
#  980|                                       "numeric keysym \"%#06"PRIx64"\" (%"PRId64")",

Error: GCC_ANALYZER_WARNING (CWE-401): [#def25]
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/rules.c:1324:13: warning[-Wanalyzer-malloc-leak]: leak of ‘expanded.item’
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/rules.c:1490:1: enter_function: entry to ‘matcher_rule_apply_if_matches’
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/rules.c:1607:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/rules.c:1609:14: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/rules.c:1610:14: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/rules.c:1613:37: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/rules.c:1613:16: branch_true: following ‘true’ branch...
 branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/rules.c:1614:44: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/rules.c:1615:54: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/rules.c:1658:21: call_function: calling ‘append_expanded_kccgst_value’ from ‘matcher_rule_apply_if_matches’
# 1322|           str[*i] == 'a' && str[*i+1] == 'l' && str[*i+2] == 'l') {
# 1323|           if (has_layout_idx_range)
# 1324|->             scanner_vrb(s, 2, XKB_LOG_MESSAGE_NO_ID,
# 1325|                           "Using :all qualifier with indices range "
# 1326|                           "is not recommended.");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def26]
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/symbols.c:487:9: warning[-Wanalyzer-malloc-leak]: leak of ‘*into.groups.item’
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/symbols.c:598:1: enter_function: entry to ‘MergeIncludedSymbols’
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/symbols.c:630:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/symbols.c:636:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/symbols.c:636:9: branch_true: following ‘true’ branch...
 branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/symbols.c:636:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/symbols.c:637:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/src/xkbcomp/symbols.c:638:18: call_function: calling ‘AddKeySymbols’ from ‘MergeIncludedSymbols’
#  485|       /* If @from has extra groups, just move them to @into. */
#  486|       for (i = groups_in_both; i < darray_size(from->groups); i++) {
#  487|->         darray_append(into->groups, darray_item(from->groups, i));
#  488|           InitGroupInfo(&darray_item(from->groups, i));
#  489|       }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def27]
libxkbcommon-xkbcommon-1.11.0/test/common.c:301:8: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(test_get_path(path_rel), "rb")’
libxkbcommon-xkbcommon-1.11.0/test/common.c:650:1: enter_function: entry to ‘test_compile_output’
libxkbcommon-xkbcommon-1.11.0/test/common.c:664:8: branch_false: following ‘false’ branch (when ‘rel_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.11.0/test/common.c:677:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:677:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:682:17: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:683:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:688:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:690:24: call_function: calling ‘test_get_path’ from ‘test_compile_output’
libxkbcommon-xkbcommon-1.11.0/test/common.c:690:24: return_function: returning to ‘test_compile_output’ from ‘test_get_path’
libxkbcommon-xkbcommon-1.11.0/test/common.c:691:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:693:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:693:8: branch_false: following ‘false’ branch (when ‘update_output_files == 0’)...
libxkbcommon-xkbcommon-1.11.0/test/common.c:700:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:701:32: call_function: calling ‘test_read_file’ from ‘test_compile_output’
#  299|   
#  300|       const int fd = fileno(file);
#  301|->     if (fd < 0)
#  302|           return NULL;
#  303|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def28]
libxkbcommon-xkbcommon-1.11.0/test/common.c:301:8: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(test_get_path(path_rel), "rb")’
libxkbcommon-xkbcommon-1.11.0/test/common.c:650:1: enter_function: entry to ‘test_compile_output’
libxkbcommon-xkbcommon-1.11.0/test/common.c:664:8: branch_false: following ‘false’ branch (when ‘rel_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.11.0/test/common.c:677:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:677:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:682:17: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:683:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:688:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:690:24: call_function: calling ‘test_get_path’ from ‘test_compile_output’
libxkbcommon-xkbcommon-1.11.0/test/common.c:690:24: return_function: returning to ‘test_compile_output’ from ‘test_get_path’
libxkbcommon-xkbcommon-1.11.0/test/common.c:691:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:693:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:693:8: branch_false: following ‘false’ branch (when ‘update_output_files == 0’)...
libxkbcommon-xkbcommon-1.11.0/test/common.c:700:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:701:32: call_function: calling ‘test_read_file’ from ‘test_compile_output’
#  299|   
#  300|       const int fd = fileno(file);
#  301|->     if (fd < 0)
#  302|           return NULL;
#  303|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def29]
libxkbcommon-xkbcommon-1.11.0/test/common.c:322:13: warning[-Wanalyzer-malloc-leak]: leak of ‘test_get_path(rel_path)’
libxkbcommon-xkbcommon-1.11.0/test/common.c:650:1: enter_function: entry to ‘test_compile_output’
libxkbcommon-xkbcommon-1.11.0/test/common.c:664:8: branch_false: following ‘false’ branch (when ‘rel_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.11.0/test/common.c:677:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:677:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:682:17: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:683:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:688:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:690:24: call_function: calling ‘test_get_path’ from ‘test_compile_output’
libxkbcommon-xkbcommon-1.11.0/test/common.c:690:24: return_function: returning to ‘test_compile_output’ from ‘test_get_path’
libxkbcommon-xkbcommon-1.11.0/test/common.c:691:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:693:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:693:8: branch_false: following ‘false’ branch (when ‘update_output_files == 0’)...
libxkbcommon-xkbcommon-1.11.0/test/common.c:700:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:701:32: call_function: calling ‘test_read_file’ from ‘test_compile_output’
#  320|               printf("Error reading file %s: unexpected end of file\n", path_rel);
#  321|           else if (ferror(file))
#  322|->             perror("Error reading file");
#  323|           fclose(file);
#  324|           free(ret);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def30]
libxkbcommon-xkbcommon-1.11.0/test/common.c:713:26: warning[-Wanalyzer-malloc-leak]: leak of ‘test_get_path(rel_path)’
libxkbcommon-xkbcommon-1.11.0/test/common.c:650:1: enter_function: entry to ‘test_compile_output’
libxkbcommon-xkbcommon-1.11.0/test/common.c:664:8: branch_false: following ‘false’ branch (when ‘rel_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.11.0/test/common.c:677:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:677:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:682:17: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:683:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:688:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:690:24: call_function: calling ‘test_get_path’ from ‘test_compile_output’
libxkbcommon-xkbcommon-1.11.0/test/common.c:690:24: return_function: returning to ‘test_compile_output’ from ‘test_get_path’
libxkbcommon-xkbcommon-1.11.0/test/common.c:691:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:693:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:693:8: branch_false: following ‘false’ branch (when ‘update_output_files == 0’)...
libxkbcommon-xkbcommon-1.11.0/test/common.c:700:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:701:32: call_function: calling ‘test_read_file’ from ‘test_compile_output’
libxkbcommon-xkbcommon-1.11.0/test/common.c:701:32: return_function: returning to ‘test_compile_output’ from ‘test_read_file’
libxkbcommon-xkbcommon-1.11.0/test/common.c:702:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:705:14: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:707:34: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:708:17: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:708:17: call_function: calling ‘streq’ from ‘test_compile_output’
libxkbcommon-xkbcommon-1.11.0/test/common.c:708:17: return_function: returning to ‘test_compile_output’ from ‘streq’
libxkbcommon-xkbcommon-1.11.0/test/common.c:708:16: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:709:17: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:710:20: branch_true: following ‘true’ branch (when ‘test_round_trip != 0’)...
libxkbcommon-xkbcommon-1.11.0/test/common.c:713:26: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:713:26: danger: ‘test_get_path(rel_path)’ leaks here; was allocated at [(12)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/11)
#  711|                       break;
#  712|                   /* Test round trip */
#  713|->                 keymap = compile_buffer(ctx, input_format,
#  714|                                           expected, strlen(expected),
#  715|                                           compile_buffer_private);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def31]
libxkbcommon-xkbcommon-1.11.0/test/common.c:723:23: warning[-Wanalyzer-malloc-leak]: leak of ‘test_get_path(rel_path)’
libxkbcommon-xkbcommon-1.11.0/test/common.c:650:1: enter_function: entry to ‘test_compile_output’
libxkbcommon-xkbcommon-1.11.0/test/common.c:664:8: branch_false: following ‘false’ branch (when ‘rel_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.11.0/test/common.c:677:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:677:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:682:17: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:683:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:688:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:690:24: call_function: calling ‘test_get_path’ from ‘test_compile_output’
libxkbcommon-xkbcommon-1.11.0/test/common.c:690:24: return_function: returning to ‘test_compile_output’ from ‘test_get_path’
libxkbcommon-xkbcommon-1.11.0/test/common.c:691:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:693:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:693:8: branch_false: following ‘false’ branch (when ‘update_output_files == 0’)...
libxkbcommon-xkbcommon-1.11.0/test/common.c:700:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:701:32: call_function: calling ‘test_read_file’ from ‘test_compile_output’
libxkbcommon-xkbcommon-1.11.0/test/common.c:701:32: return_function: returning to ‘test_compile_output’ from ‘test_read_file’
libxkbcommon-xkbcommon-1.11.0/test/common.c:702:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:705:14: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:707:34: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:708:17: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:708:17: call_function: calling ‘streq’ from ‘test_compile_output’
libxkbcommon-xkbcommon-1.11.0/test/common.c:708:17: return_function: returning to ‘test_compile_output’ from ‘streq’
libxkbcommon-xkbcommon-1.11.0/test/common.c:708:16: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:709:17: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:710:20: branch_true: following ‘true’ branch (when ‘test_round_trip != 0’)...
libxkbcommon-xkbcommon-1.11.0/test/common.c:713:26: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:716:20: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:722:17: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:723:23: danger: ‘test_get_path(rel_path)’ leaks here; was allocated at [(12)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/11)
#  721|                   }
#  722|                   free(got);
#  723|->                 got = xkb_keymap_get_as_string(keymap, output_format);
#  724|                   if (!got) {
#  725|                       fprintf(stderr,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def32]
libxkbcommon-xkbcommon-1.11.0/test/common.c:729:17: warning[-Wanalyzer-malloc-leak]: leak of ‘test_get_path(rel_path)’
libxkbcommon-xkbcommon-1.11.0/test/common.c:650:1: enter_function: entry to ‘test_compile_output’
libxkbcommon-xkbcommon-1.11.0/test/common.c:664:8: branch_false: following ‘false’ branch (when ‘rel_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.11.0/test/common.c:677:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:677:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:682:17: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:683:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:688:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:690:24: call_function: calling ‘test_get_path’ from ‘test_compile_output’
libxkbcommon-xkbcommon-1.11.0/test/common.c:690:24: return_function: returning to ‘test_compile_output’ from ‘test_get_path’
libxkbcommon-xkbcommon-1.11.0/test/common.c:691:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:693:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:693:8: branch_false: following ‘false’ branch (when ‘update_output_files == 0’)...
libxkbcommon-xkbcommon-1.11.0/test/common.c:700:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:701:32: call_function: calling ‘test_read_file’ from ‘test_compile_output’
libxkbcommon-xkbcommon-1.11.0/test/common.c:701:32: return_function: returning to ‘test_compile_output’ from ‘test_read_file’
libxkbcommon-xkbcommon-1.11.0/test/common.c:702:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:705:14: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:707:34: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:708:17: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:708:17: call_function: calling ‘streq’ from ‘test_compile_output’
libxkbcommon-xkbcommon-1.11.0/test/common.c:708:17: return_function: returning to ‘test_compile_output’ from ‘streq’
libxkbcommon-xkbcommon-1.11.0/test/common.c:708:16: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:709:17: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:710:20: branch_true: following ‘true’ branch (when ‘test_round_trip != 0’)...
libxkbcommon-xkbcommon-1.11.0/test/common.c:713:26: branch_true: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:716:20: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/test/common.c:722:17: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/common.c:729:17: danger: ‘test_get_path(rel_path)’ leaks here; was allocated at [(12)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/11)
#  727|                       success = false;
#  728|                   }
#  729|->                 xkb_keymap_unref(keymap);
#  730|                   test_round_trip = false;
#  731|               } else {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def33]
libxkbcommon-xkbcommon-1.11.0/test/xvfb-wrapper.c:118:11: warning[-Wanalyzer-malloc-leak]: leak of ‘tmpfile()’
libxkbcommon-xkbcommon-1.11.0/test/xvfb-wrapper.c:46:18: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.11.0/test/xvfb-wrapper.c:47:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/test/xvfb-wrapper.c:51:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/xvfb-wrapper.c:74:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/test/xvfb-wrapper.c:88:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/xvfb-wrapper.c:108:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.11.0/test/xvfb-wrapper.c:114:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.11.0/test/xvfb-wrapper.c:118:11: danger: ‘tmpfile()’ leaks here; was allocated at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#  116|   
#  117|       /* Run the function requiring a running X server */
#  118|->     ret = test_func(display);
#  119|   
#  120|   err_xvfd:

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
diffbase-analyzer-version-clippy1.90.0
diffbase-analyzer-version-cppcheck2.18.3
diffbase-analyzer-version-gcc15.2.1
diffbase-analyzer-version-gcc-analyzer16.0.0
diffbase-analyzer-version-shellcheck0.11.0
diffbase-analyzer-version-unicontrol0.0.2
diffbase-enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
diffbase-exit-code0
diffbase-hostip-172-16-1-204.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.20250521.132812.g8eff701.main-1.el9.noarch
diffbase-mock-configfedora-rawhide-gcc-latest-x86_64
diffbase-project-namelibxkbcommon-1.12.2-1.fc44
diffbase-store-results-to/tmp/tmpfz8dw2ek/libxkbcommon-1.12.2-1.fc44.tar.xz
diffbase-time-created2025-10-28 19:23:03
diffbase-time-finished2025-10-28 19:25:59
diffbase-toolcsmock
diffbase-tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-gcc-latest-x86_64' '-t' 'gcc,cppcheck,shellcheck,clippy,unicontrol' '-o' '/tmp/tmpfz8dw2ek/libxkbcommon-1.12.2-1.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--install=gcc-latest' '--gcc-analyzer-bin=/opt/gcc-latest/bin/gcc' '/tmp/tmpfz8dw2ek/libxkbcommon-1.12.2-1.fc44.src.rpm'
diffbase-tool-versioncsmock-3.8.3.20251027.143044.ge6b947b-1.el9
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-204.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-namelibxkbcommon-1.11.0-1.fc43
store-results-to/tmp/tmpm2nsna3y/libxkbcommon-1.11.0-1.fc43.tar.xz
time-created2025-10-28 19:18:56
time-finished2025-10-28 19:22:13
titleFixed findings
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-gcc-latest-x86_64' '-t' 'gcc,cppcheck,shellcheck,clippy,unicontrol' '-o' '/tmp/tmpm2nsna3y/libxkbcommon-1.11.0-1.fc43.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--install=gcc-latest' '--gcc-analyzer-bin=/opt/gcc-latest/bin/gcc' '/tmp/tmpm2nsna3y/libxkbcommon-1.11.0-1.fc43.src.rpm'
tool-versioncsmock-3.8.3.20251027.143044.ge6b947b-1.el9