libxkbcommon-1.13.1-1.fc44

List of Findings

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1]
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:21:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:40:22: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: call_function: calling ‘darray_next_alloc’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: return_function: returning to ‘main’ from ‘darray_next_alloc’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:40:22: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:40:22: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:40:22: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:40:22: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: call_function: calling ‘darray_next_alloc’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: return_function: returning to ‘main’ from ‘darray_next_alloc’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: danger: ‘<unknown>’ leaks here; was allocated at [(18)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/17)
#   41|           if (len > 0 && wordbuf[len - 1] == '\n')
#   42|               wordbuf[len - 1] = '\0';
#   43|->         darray_append(words, strdup(wordbuf));
#   44|       }
#   45|       fclose(file);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def2]
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: warning[-Wanalyzer-malloc-leak]: leak of ‘words.item’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:21:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:40:22: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: call_function: calling ‘darray_next_alloc’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: return_function: returning to ‘main’ from ‘darray_next_alloc’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:40:22: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:40:22: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:40:22: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:40:22: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: call_function: calling ‘darray_next_alloc’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: return_function: returning to ‘main’ from ‘darray_next_alloc’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: danger: ‘words.item’ leaks here; was allocated at [(17)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/16)
#   41|           if (len > 0 && wordbuf[len - 1] == '\n')
#   42|               wordbuf[len - 1] = '\0';
#   43|->         darray_append(words, strdup(wordbuf));
#   44|       }
#   45|       fclose(file);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def3]
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:21:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:40:22: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: call_function: calling ‘darray_next_alloc’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: return_function: returning to ‘main’ from ‘darray_next_alloc’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: danger: dereference of NULL ‘words.item + (long unsigned int)words.size * 8’
#   41|           if (len > 0 && wordbuf[len - 1] == '\n')
#   42|               wordbuf[len - 1] = '\0';
#   43|->         darray_append(words, strdup(wordbuf));
#   44|       }
#   45|       fclose(file);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def4]
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:47:5: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:21:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:40:22: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: call_function: calling ‘darray_next_alloc’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: return_function: returning to ‘main’ from ‘darray_next_alloc’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:45:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:47:5: throw: if ‘bench_start’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:47:5: danger: ‘<unknown>’ leaks here; was allocated at [(18)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/17)
#   45|       fclose(file);
#   46|   
#   47|->     bench_start(&bench);
#   48|       for (int i = 0; i < BENCHMARK_ITERATIONS; i++) {
#   49|           table = atom_table_new();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def5]
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:47:5: warning[-Wanalyzer-malloc-leak]: leak of ‘words.item’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:21:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:40:22: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: call_function: calling ‘darray_next_alloc’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: return_function: returning to ‘main’ from ‘darray_next_alloc’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:45:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:47:5: throw: if ‘bench_start’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:47:5: danger: ‘words.item’ leaks here; was allocated at [(17)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/16)
#   45|       fclose(file);
#   46|   
#   47|->     bench_start(&bench);
#   48|       for (int i = 0; i < BENCHMARK_ITERATIONS; i++) {
#   49|           table = atom_table_new();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def6]
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:49:17: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:21:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:40:22: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: call_function: calling ‘darray_next_alloc’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: return_function: returning to ‘main’ from ‘darray_next_alloc’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:45:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:48:21: branch_true: following ‘true’ branch (when ‘i != 100’)...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:49:17: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:49:17: throw: if ‘atom_table_new’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:49:17: danger: ‘<unknown>’ leaks here; was allocated at [(18)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/17)
#   47|       bench_start(&bench);
#   48|       for (int i = 0; i < BENCHMARK_ITERATIONS; i++) {
#   49|->         table = atom_table_new();
#   50|           assert(table);
#   51|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def7]
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:49:17: warning[-Wanalyzer-malloc-leak]: leak of ‘words.item’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:21:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:40:22: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: call_function: calling ‘darray_next_alloc’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: return_function: returning to ‘main’ from ‘darray_next_alloc’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:45:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:48:21: branch_true: following ‘true’ branch (when ‘i != 100’)...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:49:17: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:49:17: throw: if ‘atom_table_new’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:49:17: danger: ‘words.item’ leaks here; was allocated at [(17)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/16)
#   47|       bench_start(&bench);
#   48|       for (int i = 0; i < BENCHMARK_ITERATIONS; i++) {
#   49|->         table = atom_table_new();
#   50|           assert(table);
#   51|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def8]
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:53:20: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:21:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:40:22: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: call_function: calling ‘darray_next_alloc’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: return_function: returning to ‘main’ from ‘darray_next_alloc’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:45:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:48:21: branch_true: following ‘true’ branch (when ‘i != 100’)...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:49:17: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:50:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:52:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:52:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:53:20: throw: if ‘atom_intern’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:53:20: danger: ‘<unknown>’ leaks here; was allocated at [(18)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/17)
#   51|   
#   52|           darray_foreach(worditer, words) {
#   53|->             atom = atom_intern(table, *worditer, strlen(*worditer) - 1, true);
#   54|               assert(atom != XKB_ATOM_NONE);
#   55|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def9]
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:53:20: warning[-Wanalyzer-malloc-leak]: leak of ‘worditer’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:21:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:40:22: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: call_function: calling ‘darray_next_alloc’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: return_function: returning to ‘main’ from ‘darray_next_alloc’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:45:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:48:21: branch_true: following ‘true’ branch (when ‘i != 100’)...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:49:17: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:50:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:52:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:52:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:53:20: throw: if ‘atom_intern’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:53:20: danger: ‘worditer’ leaks here; was allocated at [(17)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/16)
#   51|   
#   52|           darray_foreach(worditer, words) {
#   53|->             atom = atom_intern(table, *worditer, strlen(*worditer) - 1, true);
#   54|               assert(atom != XKB_ATOM_NONE);
#   55|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def10]
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:53:20: warning[-Wanalyzer-malloc-leak]: leak of ‘words.item’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:21:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:40:22: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: call_function: calling ‘darray_next_alloc’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: return_function: returning to ‘main’ from ‘darray_next_alloc’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:45:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:48:21: branch_true: following ‘true’ branch (when ‘i != 100’)...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:49:17: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:50:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:52:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:52:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:54:13: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:56:20: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:57:13: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:52:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:52:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:53:50: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:53:20: throw: if ‘atom_intern’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:53:20: danger: ‘words.item’ leaks here; was allocated at [(17)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/16)
#   51|   
#   52|           darray_foreach(worditer, words) {
#   53|->             atom = atom_intern(table, *worditer, strlen(*worditer) - 1, true);
#   54|               assert(atom != XKB_ATOM_NONE);
#   55|   

Error: GCC_ANALYZER_WARNING (CWE-688): [#def11]
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:53:50: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘*worditer’ where non-null expected
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:21:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:40:22: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: call_function: calling ‘darray_next_alloc’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: return_function: returning to ‘main’ from ‘darray_next_alloc’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: acquire_memory: this call could return NULL
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:45:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:48:21: branch_true: following ‘true’ branch (when ‘i != 100’)...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:49:17: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:50:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:52:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:52:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:53:50: danger: argument 1 (‘*worditer’) from [(18)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/17) could be NULL where non-null expected
#   51|   
#   52|           darray_foreach(worditer, words) {
#   53|->             atom = atom_intern(table, *worditer, strlen(*worditer) - 1, true);
#   54|               assert(atom != XKB_ATOM_NONE);
#   55|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def12]
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:56:20: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:21:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:40:22: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: call_function: calling ‘darray_next_alloc’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: return_function: returning to ‘main’ from ‘darray_next_alloc’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:45:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:48:21: branch_true: following ‘true’ branch (when ‘i != 100’)...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:49:17: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:50:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:52:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:52:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:54:13: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:56:20: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:56:20: throw: if ‘atom_text’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:56:20: danger: ‘<unknown>’ leaks here; was allocated at [(18)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/17)
#   54|               assert(atom != XKB_ATOM_NONE);
#   55|   
#   56|->             text = atom_text(table, atom);
#   57|               assert(text != NULL);
#   58|           }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def13]
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:56:20: warning[-Wanalyzer-malloc-leak]: leak of ‘worditer’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:21:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:40:22: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: call_function: calling ‘darray_next_alloc’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: return_function: returning to ‘main’ from ‘darray_next_alloc’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:45:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:48:21: branch_true: following ‘true’ branch (when ‘i != 100’)...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:49:17: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:50:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:52:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:52:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:54:13: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:56:20: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:56:20: throw: if ‘atom_text’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:56:20: danger: ‘worditer’ leaks here; was allocated at [(17)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/16)
#   54|               assert(atom != XKB_ATOM_NONE);
#   55|   
#   56|->             text = atom_text(table, atom);
#   57|               assert(text != NULL);
#   58|           }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def14]
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:56:20: warning[-Wanalyzer-malloc-leak]: leak of ‘words.item’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:21:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:40:22: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: call_function: calling ‘darray_next_alloc’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: return_function: returning to ‘main’ from ‘darray_next_alloc’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:45:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:48:21: branch_true: following ‘true’ branch (when ‘i != 100’)...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:49:17: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:50:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:52:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:52:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:54:13: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:56:20: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:57:13: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:52:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:52:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:53:50: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:54:13: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:56:20: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:56:20: throw: if ‘atom_text’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:56:20: danger: ‘words.item’ leaks here; was allocated at [(17)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/16)
#   54|               assert(atom != XKB_ATOM_NONE);
#   55|   
#   56|->             text = atom_text(table, atom);
#   57|               assert(text != NULL);
#   58|           }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def15]
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:60:9: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:21:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:40:22: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: call_function: calling ‘darray_next_alloc’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: return_function: returning to ‘main’ from ‘darray_next_alloc’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:45:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:48:21: branch_true: following ‘true’ branch (when ‘i != 100’)...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:49:17: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:50:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:52:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:52:9: branch_true: following ‘true’ branch (when ‘<unknown>’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:52:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:52:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:60:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:60:9: throw: if ‘atom_table_free’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:60:9: danger: ‘<unknown>’ leaks here; was allocated at [(18)](sarif:/runs/0/results/17/codeFlows/0/threadFlows/0/locations/17)
#   58|           }
#   59|   
#   60|->         atom_table_free(table);
#   61|       }
#   62|       bench_stop(&bench);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def16]
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:60:9: warning[-Wanalyzer-malloc-leak]: leak of ‘worditer’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:21:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:35:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:40:22: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: call_function: calling ‘darray_next_alloc’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:43:9: return_function: returning to ‘main’ from ‘darray_next_alloc’
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:39:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:45:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:48:21: branch_true: following ‘true’ branch (when ‘i != 100’)...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:49:17: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:50:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:52:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:52:9: branch_true: following ‘true’ branch (when ‘<unknown>’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:52:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:52:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:60:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:60:9: throw: if ‘atom_table_free’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/atom.c:60:9: danger: ‘worditer’ leaks here; was allocated at [(17)](sarif:/runs/0/results/16/codeFlows/0/threadFlows/0/locations/16)
#   58|           }
#   59|   
#   60|->         atom_table_free(table);
#   61|       }
#   62|       bench_stop(&bench);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def17]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:83:37: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(keymap_path, "r")’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:77:8: branch_true: following ‘true’ branch (when ‘keymap_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:78:22: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:78:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:79:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:83:37: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:83:37: throw: if ‘xkb_keymap_new_from_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:83:37: danger: ‘fopen(keymap_path, "r")’ leaks here; was opened at [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#   81|               return NULL;
#   82|           }
#   83|->         struct xkb_keymap *keymap = xkb_keymap_new_from_file(
#   84|               ctx, file, format, XKB_KEYMAP_COMPILE_NO_FLAGS
#   85|           );

Error: GCC_ANALYZER_WARNING (CWE-401): [#def18]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:83:37: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(keymap_path, "r")’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:77:8: branch_true: following ‘true’ branch (when ‘keymap_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:78:22: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:78:22: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:79:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:83:37: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:83:37: throw: if ‘xkb_keymap_new_from_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:83:37: danger: ‘fopen(keymap_path, "r")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/2)
#   81|               return NULL;
#   82|           }
#   83|->         struct xkb_keymap *keymap = xkb_keymap_new_from_file(
#   84|               ctx, file, format, XKB_KEYMAP_COMPILE_NO_FLAGS
#   85|           );

Error: GCC_ANALYZER_WARNING (CWE-775): [#def19]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:275:14: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(keymap_path, "r")’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:159:12: branch_false: following ‘false’ branch (when ‘c != -1’)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:162:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:264:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:267:8: branch_true: following ‘true’ branch (when ‘keymap_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:269:23: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:269:23: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:270:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:275:14: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:275:14: throw: if ‘map_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:275:14: danger: ‘fopen(keymap_path, "r")’ leaks here; was opened at [(19)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/18)
#  273|               goto keymap_error;
#  274|           }
#  275|->         if (!map_file(keymap_file, &keymap_str, &keymap_str_length)) {
#  276|               fclose(keymap_file);
#  277|               ret = EXIT_FAILURE;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def20]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:275:14: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(keymap_path, "r")’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:159:12: branch_false: following ‘false’ branch (when ‘c != -1’)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:162:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:264:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:267:8: branch_true: following ‘true’ branch (when ‘keymap_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:269:23: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:269:23: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:270:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:275:14: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:275:14: throw: if ‘map_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:275:14: danger: ‘fopen(keymap_path, "r")’ leaks here; was allocated at [(19)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/18)
#  273|               goto keymap_error;
#  274|           }
#  275|->         if (!map_file(keymap_file, &keymap_str, &keymap_str_length)) {
#  276|               fclose(keymap_file);
#  277|               ret = EXIT_FAILURE;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def21]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:303:22: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdout_old’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:264:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:267:8: branch_false: following ‘false’ branch (when ‘keymap_path’ is NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:287:22: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:290:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:295:29: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:302:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:303:22: throw: if ‘open’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:303:22: danger: ‘stdout_old’ leaks here; was opened at [(19)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/18)
#  301|       fflush(stdout);
#  302|       int stdout_old = dup(STDOUT_FILENO);
#  303|->     int stdout_new = open("/dev/null", O_WRONLY);
#  304|       if (stdout_old == -1 || stdout_new == -1 ||
#  305|           dup2(stdout_new, STDOUT_FILENO) == -1) {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def22]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘dup2(open("/dev/null", 1), 1)’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:264:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:267:8: branch_false: following ‘false’ branch (when ‘keymap_path’ is NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:287:22: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:290:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:295:29: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:305:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:305:9: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:9: danger: ‘dup2(open("/dev/null", 1), 1)’ leaks here; was opened at [(21)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/20)
#  302|       int stdout_old = dup(STDOUT_FILENO);
#  303|       int stdout_new = open("/dev/null", O_WRONLY);
#  304|->     if (stdout_old == -1 || stdout_new == -1 ||
#  305|           dup2(stdout_new, STDOUT_FILENO) == -1) {
#  306|           perror("Stdout error");

Error: GCC_ANALYZER_WARNING (CWE-775): [#def23]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open("/dev/null", 1)’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:264:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:267:8: branch_false: following ‘false’ branch (when ‘keymap_path’ is NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:287:22: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:290:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:295:29: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:303:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:9: danger: ‘open("/dev/null", 1)’ leaks here; was opened at [(19)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/18)
#  302|       int stdout_old = dup(STDOUT_FILENO);
#  303|       int stdout_new = open("/dev/null", O_WRONLY);
#  304|->     if (stdout_old == -1 || stdout_new == -1 ||
#  305|           dup2(stdout_new, STDOUT_FILENO) == -1) {
#  306|           perror("Stdout error");

Error: GCC_ANALYZER_WARNING (CWE-775): [#def24]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:306:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdout_old’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:264:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:267:8: branch_false: following ‘false’ branch (when ‘keymap_path’ is NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:287:22: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:290:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:295:29: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:302:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:306:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:306:9: throw: if ‘perror’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:306:9: danger: ‘stdout_old’ leaks here; was opened at [(19)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/18)
#  304|       if (stdout_old == -1 || stdout_new == -1 ||
#  305|           dup2(stdout_new, STDOUT_FILENO) == -1) {
#  306|->         perror("Stdout error");
#  307|           exit(EXIT_FAILURE);
#  308|       }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def25]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:309:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdout_old’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:264:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:267:8: branch_false: following ‘false’ branch (when ‘keymap_path’ is NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:287:22: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:290:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:295:29: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:302:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:305:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:309:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:309:5: throw: if ‘close’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:309:5: danger: ‘stdout_old’ leaks here; was opened at [(19)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/18)
#  307|           exit(EXIT_FAILURE);
#  308|       }
#  309|->     close(stdout_new);
#  310|       fflush(stderr);
#  311|       int stderr_old = dup(STDERR_FILENO);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def26]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:310:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdout_old’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:264:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:267:8: branch_false: following ‘false’ branch (when ‘keymap_path’ is NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:287:22: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:290:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:295:29: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:302:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:305:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:309:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:310:5: throw: if ‘fflush’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:310:5: danger: ‘stdout_old’ leaks here; was opened at [(19)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/18)
#  308|       }
#  309|       close(stdout_new);
#  310|->     fflush(stderr);
#  311|       int stderr_old = dup(STDERR_FILENO);
#  312|       int stderr_new = open("/dev/null", O_WRONLY);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def27]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:312:22: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stderr_old’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:264:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:267:8: branch_false: following ‘false’ branch (when ‘keymap_path’ is NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:287:22: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:290:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:295:29: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:305:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:309:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:311:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:312:22: throw: if ‘open’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:312:22: danger: ‘stderr_old’ leaks here; was opened at [(23)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/22)
#  310|       fflush(stderr);
#  311|       int stderr_old = dup(STDERR_FILENO);
#  312|->     int stderr_new = open("/dev/null", O_WRONLY);
#  313|       if (stderr_old == -1 || stderr_new == -1 ||
#  314|           dup2(stderr_new, STDERR_FILENO) == -1) {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def28]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:312:22: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdout_old’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:264:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:267:8: branch_false: following ‘false’ branch (when ‘keymap_path’ is NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:287:22: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:290:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:295:29: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:302:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:305:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:309:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:312:22: throw: if ‘open’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:312:22: danger: ‘stdout_old’ leaks here; was opened at [(19)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/18)
#  310|       fflush(stderr);
#  311|       int stderr_old = dup(STDERR_FILENO);
#  312|->     int stderr_new = open("/dev/null", O_WRONLY);
#  313|       if (stderr_old == -1 || stderr_new == -1 ||
#  314|           dup2(stderr_new, STDERR_FILENO) == -1) {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def29]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘dup2(open("/dev/null", 1), 2)’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:264:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:267:8: branch_false: following ‘false’ branch (when ‘keymap_path’ is NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:287:22: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:290:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:295:29: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:305:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:309:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:314:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:314:9: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:9: danger: ‘dup2(open("/dev/null", 1), 2)’ leaks here; was opened at [(25)](sarif:/runs/0/results/18/codeFlows/0/threadFlows/0/locations/24)
#  311|       int stderr_old = dup(STDERR_FILENO);
#  312|       int stderr_new = open("/dev/null", O_WRONLY);
#  313|->     if (stderr_old == -1 || stderr_new == -1 ||
#  314|           dup2(stderr_new, STDERR_FILENO) == -1) {
#  315|           perror("Stderr error");

Error: GCC_ANALYZER_WARNING (CWE-775): [#def30]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open("/dev/null", 1)’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:264:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:267:8: branch_false: following ‘false’ branch (when ‘keymap_path’ is NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:287:22: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:290:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:295:29: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:305:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:309:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:312:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:9: danger: ‘open("/dev/null", 1)’ leaks here; was opened at [(23)](sarif:/runs/0/results/15/codeFlows/0/threadFlows/0/locations/22)
#  311|       int stderr_old = dup(STDERR_FILENO);
#  312|       int stderr_new = open("/dev/null", O_WRONLY);
#  313|->     if (stderr_old == -1 || stderr_new == -1 ||
#  314|           dup2(stderr_new, STDERR_FILENO) == -1) {
#  315|           perror("Stderr error");

Error: GCC_ANALYZER_WARNING (CWE-775): [#def31]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:315:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stderr_old’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:264:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:267:8: branch_false: following ‘false’ branch (when ‘keymap_path’ is NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:287:22: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:290:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:295:29: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:305:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:309:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:311:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:315:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:315:9: throw: if ‘perror’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:315:9: danger: ‘stderr_old’ leaks here; was opened at [(23)](sarif:/runs/0/results/20/codeFlows/0/threadFlows/0/locations/22)
#  313|       if (stderr_old == -1 || stderr_new == -1 ||
#  314|           dup2(stderr_new, STDERR_FILENO) == -1) {
#  315|->         perror("Stderr error");
#  316|           exit(EXIT_FAILURE);
#  317|       }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def32]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:315:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdout_old’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:264:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:267:8: branch_false: following ‘false’ branch (when ‘keymap_path’ is NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:287:22: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:290:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:295:29: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:302:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:305:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:309:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:315:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:315:9: throw: if ‘perror’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:315:9: danger: ‘stdout_old’ leaks here; was opened at [(19)](sarif:/runs/0/results/19/codeFlows/0/threadFlows/0/locations/18)
#  313|       if (stderr_old == -1 || stderr_new == -1 ||
#  314|           dup2(stderr_new, STDERR_FILENO) == -1) {
#  315|->         perror("Stderr error");
#  316|           exit(EXIT_FAILURE);
#  317|       }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def33]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:318:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stderr_old’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:264:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:267:8: branch_false: following ‘false’ branch (when ‘keymap_path’ is NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:287:22: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:290:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:295:29: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:305:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:309:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:311:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:314:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:318:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:318:5: throw: if ‘close’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:318:5: danger: ‘stderr_old’ leaks here; was opened at [(23)](sarif:/runs/0/results/23/codeFlows/0/threadFlows/0/locations/22)
#  316|           exit(EXIT_FAILURE);
#  317|       }
#  318|->     close(stderr_new);
#  319|   
#  320|       if (explicit_iterations) {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def34]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:318:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdout_old’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:264:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:267:8: branch_false: following ‘false’ branch (when ‘keymap_path’ is NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:287:22: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:290:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:295:29: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:302:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:305:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:309:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:314:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:318:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:318:5: throw: if ‘close’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:318:5: danger: ‘stdout_old’ leaks here; was opened at [(19)](sarif:/runs/0/results/22/codeFlows/0/threadFlows/0/locations/18)
#  316|           exit(EXIT_FAILURE);
#  317|       }
#  318|->     close(stderr_new);
#  319|   
#  320|       if (explicit_iterations) {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def35]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:344:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stderr_old’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:264:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:267:8: branch_false: following ‘false’ branch (when ‘keymap_path’ is NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:287:22: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:290:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:295:29: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:305:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:309:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:311:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:314:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:318:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:320:8: branch_false: following ‘false’ branch (when ‘explicit_iterations == 0’)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:344:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:344:9: throw: if ‘bench_start2’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:344:9: danger: ‘stderr_old’ leaks here; was opened at [(23)](sarif:/runs/0/results/25/codeFlows/0/threadFlows/0/locations/22)
#  342|           est.stdev = 0;
#  343|       } else {
#  344|->         bench_start2(&bench);
#  345|   #ifdef KEYMAP_DUMP
#  346|           BENCH(stdev, max_iterations, elapsed, est,

Error: GCC_ANALYZER_WARNING (CWE-775): [#def36]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:344:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdout_old’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:264:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:267:8: branch_false: following ‘false’ branch (when ‘keymap_path’ is NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:287:22: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:290:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:295:29: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:302:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:305:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:309:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:314:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:318:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:320:8: branch_false: following ‘false’ branch (when ‘explicit_iterations == 0’)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:344:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:344:9: throw: if ‘bench_start2’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:344:9: danger: ‘stdout_old’ leaks here; was opened at [(19)](sarif:/runs/0/results/24/codeFlows/0/threadFlows/0/locations/18)
#  342|           est.stdev = 0;
#  343|       } else {
#  344|->         bench_start2(&bench);
#  345|   #ifdef KEYMAP_DUMP
#  346|           BENCH(stdev, max_iterations, elapsed, est,

Error: GCC_ANALYZER_WARNING (CWE-775): [#def37]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:346:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stderr_old’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:301:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:305:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:309:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:311:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:314:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:318:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:320:8: branch_false: following ‘false’ branch (when ‘explicit_iterations == 0’)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:344:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:346:9: throw: if ‘bench_start2’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:346:9: danger: ‘stderr_old’ leaks here; was opened at [(19)](sarif:/runs/0/results/25/codeFlows/0/threadFlows/0/locations/18)
#  344|           bench_start2(&bench);
#  345|   #ifdef KEYMAP_DUMP
#  346|->         BENCH(stdev, max_iterations, elapsed, est,
#  347|               char *s = xkb_keymap_get_as_string2(keymap, keymap_output_format,
#  348|                                                   serialize_flags);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def38]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:346:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdout_old’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:301:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:302:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:305:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:309:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:314:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:318:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:320:8: branch_false: following ‘false’ branch (when ‘explicit_iterations == 0’)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:344:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:346:9: throw: if ‘bench_start2’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:346:9: danger: ‘stdout_old’ leaks here; was opened at [(15)](sarif:/runs/0/results/24/codeFlows/0/threadFlows/0/locations/14)
#  344|           bench_start2(&bench);
#  345|   #ifdef KEYMAP_DUMP
#  346|->         BENCH(stdev, max_iterations, elapsed, est,
#  347|               char *s = xkb_keymap_get_as_string2(keymap, keymap_output_format,
#  348|                                                   serialize_flags);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def39]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stderr_old’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:264:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:267:8: branch_false: following ‘false’ branch (when ‘keymap_path’ is NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:287:22: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:290:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:295:29: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:305:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:309:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:311:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:314:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:318:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:320:8: branch_false: following ‘false’ branch (when ‘explicit_iterations == 0’)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:344:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: throw: if ‘bench_start2’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: danger: ‘stderr_old’ leaks here; was opened at [(23)](sarif:/runs/0/results/27/codeFlows/0/threadFlows/0/locations/22)
#  351|           );
#  352|   #else
#  353|->         BENCH(stdev, max_iterations, elapsed, est,
#  354|               keymap = xkb_keymap_new_from_buffer(
#  355|                   context, keymap_str, keymap_str_length,

Error: GCC_ANALYZER_WARNING (CWE-775): [#def40]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdout_old’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:264:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:267:8: branch_false: following ‘false’ branch (when ‘keymap_path’ is NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:287:22: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:290:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:295:29: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:302:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:305:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:309:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:314:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:318:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:320:8: branch_false: following ‘false’ branch (when ‘explicit_iterations == 0’)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:344:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: throw: if ‘bench_start2’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: danger: ‘stdout_old’ leaks here; was opened at [(19)](sarif:/runs/0/results/26/codeFlows/0/threadFlows/0/locations/18)
#  351|           );
#  352|   #else
#  353|->         BENCH(stdev, max_iterations, elapsed, est,
#  354|               keymap = xkb_keymap_new_from_buffer(
#  355|                   context, keymap_str, keymap_str_length,

Error: GCC_ANALYZER_WARNING (CWE-775): [#def41]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:362:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stderr_old’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:159:12: branch_false: following ‘false’ branch (when ‘c != -1’)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:162:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:264:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:267:8: branch_true: following ‘true’ branch (when ‘keymap_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:269:23: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:270:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:275:14: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:275:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:297:5: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:305:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:309:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:311:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:314:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:318:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:320:8: branch_false: following ‘false’ branch (when ‘explicit_iterations == 0’)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:344:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:362:9: throw: if ‘bench_stop2’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:362:9: danger: ‘stderr_old’ leaks here; was opened at [(27)](sarif:/runs/0/results/49/codeFlows/0/threadFlows/0/locations/26)
#  360|           );
#  361|   #endif
#  362|->         bench_stop2(&bench);
#  363|       }
#  364|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def42]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:362:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdout_old’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:159:12: branch_false: following ‘false’ branch (when ‘c != -1’)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:162:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:264:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:267:8: branch_true: following ‘true’ branch (when ‘keymap_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:269:23: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:270:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:275:14: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:275:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:297:5: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:302:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:305:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:309:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:314:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:318:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:320:8: branch_false: following ‘false’ branch (when ‘explicit_iterations == 0’)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:344:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:362:9: throw: if ‘bench_stop2’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:362:9: danger: ‘stdout_old’ leaks here; was opened at [(23)](sarif:/runs/0/results/48/codeFlows/0/threadFlows/0/locations/22)
#  360|           );
#  361|   #endif
#  362|->         bench_stop2(&bench);
#  363|       }
#  364|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def43]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:366:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stderr_old’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:159:12: branch_false: following ‘false’ branch (when ‘c != -1’)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:162:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:264:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:267:8: branch_true: following ‘true’ branch (when ‘keymap_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:269:23: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:270:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:275:14: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:275:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:297:5: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:305:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:309:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:311:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:314:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:318:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:320:8: branch_false: following ‘false’ branch (when ‘explicit_iterations == 0’)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:344:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:366:5: throw: if ‘fflush’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:366:5: danger: ‘stderr_old’ leaks here; was opened at [(27)](sarif:/runs/0/results/51/codeFlows/0/threadFlows/0/locations/26)
#  364|   
#  365|       /* Restore stdout and stderr outputs */
#  366|->     fflush(stdout);
#  367|       dup2(stdout_old, STDOUT_FILENO);
#  368|       close(stdout_old);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def44]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:366:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdout_old’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:159:12: branch_false: following ‘false’ branch (when ‘c != -1’)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:162:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:264:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:267:8: branch_true: following ‘true’ branch (when ‘keymap_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:269:23: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:270:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:275:14: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:275:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:297:5: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:302:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:305:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:309:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:314:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:318:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:320:8: branch_false: following ‘false’ branch (when ‘explicit_iterations == 0’)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:344:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:366:5: throw: if ‘fflush’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:366:5: danger: ‘stdout_old’ leaks here; was opened at [(23)](sarif:/runs/0/results/50/codeFlows/0/threadFlows/0/locations/22)
#  364|   
#  365|       /* Restore stdout and stderr outputs */
#  366|->     fflush(stdout);
#  367|       dup2(stdout_old, STDOUT_FILENO);
#  368|       close(stdout_old);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def45]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:368:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stderr_old’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:159:12: branch_false: following ‘false’ branch (when ‘c != -1’)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:162:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:264:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:267:8: branch_true: following ‘true’ branch (when ‘keymap_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:269:23: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:270:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:275:14: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:275:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:297:5: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:305:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:309:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:311:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:314:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:318:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:320:8: branch_false: following ‘false’ branch (when ‘explicit_iterations == 0’)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:344:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:368:5: throw: if ‘close’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:368:5: danger: ‘stderr_old’ leaks here; was opened at [(27)](sarif:/runs/0/results/53/codeFlows/0/threadFlows/0/locations/26)
#  366|       fflush(stdout);
#  367|       dup2(stdout_old, STDOUT_FILENO);
#  368|->     close(stdout_old);
#  369|       fflush(stderr);
#  370|       dup2(stderr_old, STDERR_FILENO);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def46]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:368:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdout_old’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:159:12: branch_false: following ‘false’ branch (when ‘c != -1’)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:162:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:264:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:267:8: branch_true: following ‘true’ branch (when ‘keymap_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:269:23: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:270:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:275:14: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:275:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:297:5: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:302:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:305:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:309:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:314:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:318:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:320:8: branch_false: following ‘false’ branch (when ‘explicit_iterations == 0’)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:344:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:368:5: throw: if ‘close’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:368:5: danger: ‘stdout_old’ leaks here; was opened at [(23)](sarif:/runs/0/results/52/codeFlows/0/threadFlows/0/locations/22)
#  366|       fflush(stdout);
#  367|       dup2(stdout_old, STDOUT_FILENO);
#  368|->     close(stdout_old);
#  369|       fflush(stderr);
#  370|       dup2(stderr_old, STDERR_FILENO);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def47]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:369:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stderr_old’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:159:12: branch_false: following ‘false’ branch (when ‘c != -1’)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:162:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:264:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:267:8: branch_true: following ‘true’ branch (when ‘keymap_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:269:23: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:270:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:275:14: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:275:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:297:5: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:305:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:309:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:311:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:314:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:318:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:320:8: branch_false: following ‘false’ branch (when ‘explicit_iterations == 0’)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:344:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:369:5: throw: if ‘fflush’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:369:5: danger: ‘stderr_old’ leaks here; was opened at [(27)](sarif:/runs/0/results/54/codeFlows/0/threadFlows/0/locations/26)
#  367|       dup2(stdout_old, STDOUT_FILENO);
#  368|       close(stdout_old);
#  369|->     fflush(stderr);
#  370|       dup2(stderr_old, STDERR_FILENO);
#  371|       close(stderr_old);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def48]
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:371:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stderr_old’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:95:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:159:12: branch_false: following ‘false’ branch (when ‘c != -1’)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:162:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:239:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:240:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:244:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:249:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: call_function: calling ‘load_keymap’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:252:33: return_function: returning to ‘main’ from ‘load_keymap’
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:256:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:264:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:267:8: branch_true: following ‘true’ branch (when ‘keymap_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:269:23: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:270:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:275:14: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:275:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:297:5: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:305:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:304:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:309:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:311:22: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:314:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:313:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:318:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:320:8: branch_false: following ‘false’ branch (when ‘explicit_iterations == 0’)...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:344:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:353:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:371:5: throw: if ‘close’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compile-keymap.c:371:5: danger: ‘stderr_old’ leaks here; was opened at [(27)](sarif:/runs/0/results/55/codeFlows/0/threadFlows/0/locations/26)
#  369|       fflush(stderr);
#  370|       dup2(stderr_old, STDERR_FILENO);
#  371|->     close(stderr_old);
#  372|   
#  373|   #ifdef KEYMAP_DUMP

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

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

Error: GCC_ANALYZER_WARNING (CWE-775): [#def51]
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:41:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:28:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:30:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:31:12: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:32:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:39:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:41:5: throw: if ‘bench_start’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:41:5: danger: ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’ leaks here; was opened at [(3)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/2)
#   39|       xkb_enable_quiet_logging(ctx);
#   40|   
#   41|->     bench_start(&bench);
#   42|       for (int i = 0; i < BENCHMARK_ITERATIONS; i++) {
#   43|           fseek(file, 0, SEEK_SET);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def52]
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:41:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:28:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:30:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:31:12: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:32:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:39:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:41:5: throw: if ‘bench_start’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:41:5: danger: ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/2)
#   39|       xkb_enable_quiet_logging(ctx);
#   40|   
#   41|->     bench_start(&bench);
#   42|       for (int i = 0; i < BENCHMARK_ITERATIONS; i++) {
#   43|           fseek(file, 0, SEEK_SET);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def53]
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:43:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:28:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:30:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:31:12: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:32:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:39:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:42:21: branch_true: following ‘true’ branch (when ‘i != 1000’)...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:43:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:43:9: throw: if ‘fseek’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:43:9: danger: ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’ leaks here; was opened at [(3)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/2)
#   41|       bench_start(&bench);
#   42|       for (int i = 0; i < BENCHMARK_ITERATIONS; i++) {
#   43|->         fseek(file, 0, SEEK_SET);
#   44|           table = xkb_compose_table_new_from_file(ctx, file, "",
#   45|                                                   XKB_COMPOSE_FORMAT_TEXT_V1,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def54]
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:43:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:28:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:30:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:31:12: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:32:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:39:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:42:21: branch_true: following ‘true’ branch (when ‘i != 1000’)...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:43:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:43:9: throw: if ‘fseek’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:43:9: danger: ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/2)
#   41|       bench_start(&bench);
#   42|       for (int i = 0; i < BENCHMARK_ITERATIONS; i++) {
#   43|->         fseek(file, 0, SEEK_SET);
#   44|           table = xkb_compose_table_new_from_file(ctx, file, "",
#   45|                                                   XKB_COMPOSE_FORMAT_TEXT_V1,

Error: GCC_ANALYZER_WARNING (CWE-775): [#def55]
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:44:17: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:28:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:30:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:31:12: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:32:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:39:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:42:21: branch_true: following ‘true’ branch (when ‘i != 1000’)...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:43:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:44:17: throw: if ‘xkb_compose_table_new_from_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:44:17: danger: ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’ leaks here; was opened at [(3)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/2)
#   42|       for (int i = 0; i < BENCHMARK_ITERATIONS; i++) {
#   43|           fseek(file, 0, SEEK_SET);
#   44|->         table = xkb_compose_table_new_from_file(ctx, file, "",
#   45|                                                   XKB_COMPOSE_FORMAT_TEXT_V1,
#   46|                                                   XKB_COMPOSE_COMPILE_NO_FLAGS);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def56]
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:44:17: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:28:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:30:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:31:12: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:32:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:39:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:42:21: branch_true: following ‘true’ branch (when ‘i != 1000’)...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:43:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:44:17: throw: if ‘xkb_compose_table_new_from_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:44:17: danger: ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/2)
#   42|       for (int i = 0; i < BENCHMARK_ITERATIONS; i++) {
#   43|           fseek(file, 0, SEEK_SET);
#   44|->         table = xkb_compose_table_new_from_file(ctx, file, "",
#   45|                                                   XKB_COMPOSE_FORMAT_TEXT_V1,
#   46|                                                   XKB_COMPOSE_COMPILE_NO_FLAGS);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def57]
libxkbcommon-xkbcommon-1.13.1/bench/custom-parsers.c:120:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen("../bench/custom-parsers.c", "r")’
libxkbcommon-xkbcommon-1.13.1/bench/custom-parsers.c:116:18: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/custom-parsers.c:117:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/custom-parsers.c:118:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/custom-parsers.c:120:5: throw: if ‘map_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/custom-parsers.c:120:5: danger: ‘fopen("../bench/custom-parsers.c", "r")’ leaks here; was opened at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  118|       size_t size = 0;
#  119|       char *content = NULL;
#  120|->     map_file(file, &content, &size);
#  121|       assert(content);
#  122|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def58]
libxkbcommon-xkbcommon-1.13.1/bench/custom-parsers.c:120:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen("../bench/custom-parsers.c", "r")’
libxkbcommon-xkbcommon-1.13.1/bench/custom-parsers.c:116:18: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/bench/custom-parsers.c:117:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/custom-parsers.c:118:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/custom-parsers.c:120:5: throw: if ‘map_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/bench/custom-parsers.c:120:5: danger: ‘fopen("../bench/custom-parsers.c", "r")’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  118|       size_t size = 0;
#  119|       char *content = NULL;
#  120|->     map_file(file, &content, &size);
#  121|       assert(content);
#  122|   

Error: UNICONTROL_WARNING (CWE-94): [#def59]
libxkbcommon-xkbcommon-1.13.1/doc/keymap-text-format-v1-v2.md:2166: warning: bidirectional control characters: ['\u2067', '\u2069', '\u2067', '\u2069']
# 2164|   key <AD08> { [ {i, j}        , U0132         ] }; // IJ Dutch digraph
# 2165|   key <AC05> { [ {g, U0303}    , {G, U0303}    ] }; // G̃ Guarani letter
# 2166|-> key <AB05> { [ {U0644, U0627}, {U0644, U0622}] }; // ⁧لا⁩ ⁧لآ⁩ Arabic Lam-Alef ligatures decomposed
# 2167|   key <AD01> { [ {c, U2019, h} , {C, U2019, h} ] }; // C’H Breton trigraph
# 2168|   ```

Error: UNICONTROL_WARNING (CWE-94): [#def60]
libxkbcommon-xkbcommon-1.13.1/doc/keymap-text-format-v1-v2.md:2184: warning: bidirectional control characters: ['\u2067', '\u2069', '\u2067', '\u2069']
# 2182|   // NOTE: We use U+200E LEFT-TO-RIGHT MARK in order to display the strings in
# 2183|   //       in the proper order.
# 2184|-> key <AB05> { [ "لا"‎  , "لآ"‎   ] }; // ⁧لا⁩ ⁧لآ⁩ Arabic Lam-Alef ligatures decomposed
# 2185|   key <AD01> { [ "c’h", "C’h" ] }; // C’H Breton trigraph
# 2186|   ```

Error: GCC_ANALYZER_WARNING (CWE-775): [#def61]
libxkbcommon-xkbcommon-1.13.1/fuzz/compose/target.c:36:17: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(argv[1], "rb")’
libxkbcommon-xkbcommon-1.13.1/fuzz/compose/target.c:20:8: branch_false: following ‘false’ branch (when ‘argc == 2’)...
libxkbcommon-xkbcommon-1.13.1/fuzz/compose/target.c:25:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/fuzz/compose/target.c:26:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/fuzz/compose/target.c:34:16: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/fuzz/compose/target.c:34:16: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/fuzz/compose/target.c:35:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/fuzz/compose/target.c:36:17: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/fuzz/compose/target.c:36:17: throw: if ‘xkb_compose_table_new_from_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/fuzz/compose/target.c:36:17: danger: ‘fopen(argv[1], "rb")’ leaks here; was opened at [(5)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/4)
#   34|           file = fopen(argv[1], "rb");
#   35|           assert(file);
#   36|->         table = xkb_compose_table_new_from_file(ctx, file,
#   37|                                                   "en_US.UTF-8",
#   38|                                                   XKB_COMPOSE_FORMAT_TEXT_V1,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def62]
libxkbcommon-xkbcommon-1.13.1/fuzz/compose/target.c:36:17: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(argv[1], "rb")’
libxkbcommon-xkbcommon-1.13.1/fuzz/compose/target.c:20:8: branch_false: following ‘false’ branch (when ‘argc == 2’)...
libxkbcommon-xkbcommon-1.13.1/fuzz/compose/target.c:25:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/fuzz/compose/target.c:26:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/fuzz/compose/target.c:34:16: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/fuzz/compose/target.c:34:16: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/fuzz/compose/target.c:35:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/fuzz/compose/target.c:36:17: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/fuzz/compose/target.c:36:17: throw: if ‘xkb_compose_table_new_from_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/fuzz/compose/target.c:36:17: danger: ‘fopen(argv[1], "rb")’ leaks here; was allocated at [(5)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/4)
#   34|           file = fopen(argv[1], "rb");
#   35|           assert(file);
#   36|->         table = xkb_compose_table_new_from_file(ctx, file,
#   37|                                                   "en_US.UTF-8",
#   38|                                                   XKB_COMPOSE_FORMAT_TEXT_V1,

Error: GCC_ANALYZER_WARNING (CWE-775): [#def63]
libxkbcommon-xkbcommon-1.13.1/fuzz/keymap/target.c:35:18: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(argv[1], "rb")’
libxkbcommon-xkbcommon-1.13.1/fuzz/keymap/target.c:19:8: branch_false: following ‘false’ branch (when ‘argc == 2’)...
libxkbcommon-xkbcommon-1.13.1/fuzz/keymap/target.c:24:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/fuzz/keymap/target.c:25:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/fuzz/keymap/target.c:33:16: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/fuzz/keymap/target.c:33:16: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/fuzz/keymap/target.c:34:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/fuzz/keymap/target.c:35:18: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/fuzz/keymap/target.c:35:18: throw: if ‘xkb_keymap_new_from_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/fuzz/keymap/target.c:35:18: danger: ‘fopen(argv[1], "rb")’ leaks here; was opened at [(5)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/4)
#   33|           file = fopen(argv[1], "rb");
#   34|           assert(file);
#   35|->         keymap = xkb_keymap_new_from_file(ctx, file,
#   36|                                             XKB_KEYMAP_FORMAT_TEXT_V1,
#   37|                                             XKB_KEYMAP_COMPILE_NO_FLAGS);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def64]
libxkbcommon-xkbcommon-1.13.1/fuzz/keymap/target.c:35:18: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(argv[1], "rb")’
libxkbcommon-xkbcommon-1.13.1/fuzz/keymap/target.c:19:8: branch_false: following ‘false’ branch (when ‘argc == 2’)...
libxkbcommon-xkbcommon-1.13.1/fuzz/keymap/target.c:24:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/fuzz/keymap/target.c:25:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/fuzz/keymap/target.c:33:16: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/fuzz/keymap/target.c:33:16: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/fuzz/keymap/target.c:34:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/fuzz/keymap/target.c:35:18: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/fuzz/keymap/target.c:35:18: throw: if ‘xkb_keymap_new_from_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/fuzz/keymap/target.c:35:18: danger: ‘fopen(argv[1], "rb")’ leaks here; was allocated at [(5)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/4)
#   33|           file = fopen(argv[1], "rb");
#   34|           assert(file);
#   35|->         keymap = xkb_keymap_new_from_file(ctx, file,
#   36|                                             XKB_KEYMAP_FORMAT_TEXT_V1,
#   37|                                             XKB_KEYMAP_COMPILE_NO_FLAGS);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def65]
libxkbcommon-xkbcommon-1.13.1/redhat-linux-build/export-keysyms.p/parser.c:2016:9: warning[-Wanalyzer-malloc-leak]: leak of ‘yyptr’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/parser.y:1108:1: enter_function: entry to ‘parse_next’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/parser.y:1118:16: call_function: calling ‘_xkbcommon_parse’ from ‘parse_next’
# 2014|           if (! yyptr)
# 2015|             YYNOMEM;
# 2016|->         YYSTACK_RELOCATE (yyss_alloc, yyss);
# 2017|           YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# 2018|   #  undef YYSTACK_RELOCATE

Error: GCC_ANALYZER_WARNING (CWE-457): [#def66]
libxkbcommon-xkbcommon-1.13.1/redhat-linux-build/export-keysyms.p/parser.c:2016:9: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘yyss’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/parser.y:1108:1: enter_function: entry to ‘parse_next’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/parser.y:1118:16: call_function: calling ‘_xkbcommon_parse’ from ‘parse_next’
# 2014|           if (! yyptr)
# 2015|             YYNOMEM;
# 2016|->         YYSTACK_RELOCATE (yyss_alloc, yyss);
# 2017|           YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# 2018|   #  undef YYSTACK_RELOCATE

Error: GCC_ANALYZER_WARNING (CWE-457): [#def67]
libxkbcommon-xkbcommon-1.13.1/redhat-linux-build/export-keysyms.p/parser.c:2143:3: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘*<unknown>’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/parser.y:1108:1: enter_function: entry to ‘parse_next’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/parser.y:1118:16: call_function: calling ‘_xkbcommon_parse’ from ‘parse_next’
# 2141|        unconditionally makes the parser a bit smaller, and it avoids a
# 2142|        GCC warning that YYVAL may be used uninitialized.  */
# 2143|->   yyval = yyvsp[1-yylen];
# 2144|   
# 2145|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def68]
libxkbcommon-xkbcommon-1.13.1/redhat-linux-build/libxkbcommon-test-internal.so.p/parser.c:2016:9: warning[-Wanalyzer-malloc-leak]: leak of ‘yyptr’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/parser.y:1108:1: enter_function: entry to ‘parse_next’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/parser.y:1118:16: call_function: calling ‘_xkbcommon_parse’ from ‘parse_next’
# 2014|           if (! yyptr)
# 2015|             YYNOMEM;
# 2016|->         YYSTACK_RELOCATE (yyss_alloc, yyss);
# 2017|           YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# 2018|   #  undef YYSTACK_RELOCATE

Error: GCC_ANALYZER_WARNING (CWE-457): [#def69]
libxkbcommon-xkbcommon-1.13.1/redhat-linux-build/libxkbcommon-test-internal.so.p/parser.c:2016:9: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘yyss’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/parser.y:1108:1: enter_function: entry to ‘parse_next’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/parser.y:1118:16: call_function: calling ‘_xkbcommon_parse’ from ‘parse_next’
# 2014|           if (! yyptr)
# 2015|             YYNOMEM;
# 2016|->         YYSTACK_RELOCATE (yyss_alloc, yyss);
# 2017|           YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# 2018|   #  undef YYSTACK_RELOCATE

Error: GCC_ANALYZER_WARNING (CWE-457): [#def70]
libxkbcommon-xkbcommon-1.13.1/redhat-linux-build/libxkbcommon-test-internal.so.p/parser.c:2143:3: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘*<unknown>’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/parser.y:1108:1: enter_function: entry to ‘parse_next’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/parser.y:1118:16: call_function: calling ‘_xkbcommon_parse’ from ‘parse_next’
# 2141|        unconditionally makes the parser a bit smaller, and it avoids a
# 2142|        GCC warning that YYVAL may be used uninitialized.  */
# 2143|->   yyval = yyvsp[1-yylen];
# 2144|   
# 2145|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def71]
libxkbcommon-xkbcommon-1.13.1/redhat-linux-build/libxkbcommon.so.0.13.1.p/parser.c:2016:9: warning[-Wanalyzer-malloc-leak]: leak of ‘yyptr’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/parser.y:1108:1: enter_function: entry to ‘parse_next’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/parser.y:1118:16: call_function: calling ‘_xkbcommon_parse’ from ‘parse_next’
# 2014|           if (! yyptr)
# 2015|             YYNOMEM;
# 2016|->         YYSTACK_RELOCATE (yyss_alloc, yyss);
# 2017|           YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# 2018|   #  undef YYSTACK_RELOCATE

Error: GCC_ANALYZER_WARNING (CWE-457): [#def72]
libxkbcommon-xkbcommon-1.13.1/redhat-linux-build/libxkbcommon.so.0.13.1.p/parser.c:2016:9: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘yyss’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/parser.y:1108:1: enter_function: entry to ‘parse_next’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/parser.y:1118:16: call_function: calling ‘_xkbcommon_parse’ from ‘parse_next’
# 2014|           if (! yyptr)
# 2015|             YYNOMEM;
# 2016|->         YYSTACK_RELOCATE (yyss_alloc, yyss);
# 2017|           YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# 2018|   #  undef YYSTACK_RELOCATE

Error: GCC_ANALYZER_WARNING (CWE-457): [#def73]
libxkbcommon-xkbcommon-1.13.1/redhat-linux-build/libxkbcommon.so.0.13.1.p/parser.c:2143:3: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘*<unknown>’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/parser.y:1108:1: enter_function: entry to ‘parse_next’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/parser.y:1118:16: call_function: calling ‘_xkbcommon_parse’ from ‘parse_next’
# 2141|        unconditionally makes the parser a bit smaller, and it avoids a
# 2142|        GCC warning that YYVAL may be used uninitialized.  */
# 2143|->   yyval = yyvsp[1-yylen];
# 2144|   
# 2145|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def74]
libxkbcommon-xkbcommon-1.13.1/src/atom.c:56:5: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘*table.strings.item’
libxkbcommon-xkbcommon-1.13.1/src/atom.c:52:8: branch_false: following ‘false’ branch (when ‘table’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/atom.c:56:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/atom.c:56:5: acquire_memory: this call could return NULL
libxkbcommon-xkbcommon-1.13.1/src/atom.c:56:5: danger: ‘*table.strings.item’ could be NULL: unchecked value from [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#   54|   
#   55|       darray_init(table->strings);
#   56|->     darray_append(table->strings, NULL);
#   57|       table->index_size = 4;
#   58|       table->index = calloc(table->index_size, sizeof(*table->index));

Error: GCC_ANALYZER_WARNING (CWE-688): [#def75]
libxkbcommon-xkbcommon-1.13.1/src/atom.c:97:9: warning[-Wanalyzer-null-argument]: use of NULL where non-null expected
libxkbcommon-xkbcommon-1.13.1/src/atom.c:94:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/src/atom.c:95:27: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/atom.c:96:9: release_memory: using NULL here
libxkbcommon-xkbcommon-1.13.1/src/atom.c:97:9: danger: argument 1 (‘realloc(*table.index, *table.index_size * 8)’) NULL where non-null expected
#   95|           table->index_size *= 2;
#   96|           table->index = realloc(table->index, table->index_size * sizeof(*table->index));
#   97|->         memset(table->index, 0, table->index_size * sizeof(*table->index));
#   98|           for (darray_size_t j = 1; j < darray_size(table->strings); j++) {
#   99|               const char *s = darray_item(table->strings, j);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def76]
libxkbcommon-xkbcommon-1.13.1/src/compose/escape.h:27:23: warning[-Wanalyzer-malloc-leak]: leak of ‘escape_utf8_string_literal("")’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:976:1: enter_function: entry to ‘test_encode_escape_sequences’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:981:15: call_function: calling ‘escape_utf8_string_literal’ from ‘test_encode_escape_sequences’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:981:15: return_function: returning to ‘test_encode_escape_sequences’ from ‘escape_utf8_string_literal’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:982:5: call_function: calling ‘streq_not_null’ from ‘test_encode_escape_sequences’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:982:5: return_function: returning to ‘test_encode_escape_sequences’ from ‘streq_not_null’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:982:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/compose.c:982:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/escape.h:27:23: danger: ‘escape_utf8_string_literal("")’ leaks here; was allocated at [(4)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/3)
#   25|       const size_t length = strlen(from);
#   26|       /* Longest escape is converting ASCII character to "\xNN" */
#   27|->     char* to = calloc(4 * length + 1, sizeof(*to));
#   28|       if (!to)
#   29|           return NULL;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def77]
libxkbcommon-xkbcommon-1.13.1/src/compose/escape.h:27:23: warning[-Wanalyzer-malloc-leak]: leak of ‘escape_utf8_string_literal("\"\\")’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:976:1: enter_function: entry to ‘test_encode_escape_sequences’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:981:15: call_function: calling ‘escape_utf8_string_literal’ from ‘test_encode_escape_sequences’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:981:15: return_function: returning to ‘test_encode_escape_sequences’ from ‘escape_utf8_string_literal’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:982:5: call_function: calling ‘streq_not_null’ from ‘test_encode_escape_sequences’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:982:5: return_function: returning to ‘test_encode_escape_sequences’ from ‘streq_not_null’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:982:5: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/test/compose.c:983:5: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/compose.c:986:15: call_function: calling ‘escape_utf8_string_literal’ from ‘test_encode_escape_sequences’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:986:15: return_function: returning to ‘test_encode_escape_sequences’ from ‘escape_utf8_string_literal’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:987:5: call_function: calling ‘streq_not_null’ from ‘test_encode_escape_sequences’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:987:5: return_function: returning to ‘test_encode_escape_sequences’ from ‘streq_not_null’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:987:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/compose.c:987:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/escape.h:27:23: danger: ‘escape_utf8_string_literal("\"\\")’ leaks here; was allocated at [(48)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/47)
#   25|       const size_t length = strlen(from);
#   26|       /* Longest escape is converting ASCII character to "\xNN" */
#   27|->     char* to = calloc(4 * length + 1, sizeof(*to));
#   28|       if (!to)
#   29|           return NULL;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def78]
libxkbcommon-xkbcommon-1.13.1/src/compose/escape.h:27:23: warning[-Wanalyzer-malloc-leak]: leak of ‘escape_utf8_string_literal(&buf)’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:976:1: enter_function: entry to ‘test_encode_escape_sequences’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:981:15: call_function: calling ‘escape_utf8_string_literal’ from ‘test_encode_escape_sequences’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:981:15: return_function: returning to ‘test_encode_escape_sequences’ from ‘escape_utf8_string_literal’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:982:5: call_function: calling ‘streq_not_null’ from ‘test_encode_escape_sequences’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:982:5: return_function: returning to ‘test_encode_escape_sequences’ from ‘streq_not_null’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:982:5: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/test/compose.c:983:5: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/compose.c:986:15: call_function: calling ‘escape_utf8_string_literal’ from ‘test_encode_escape_sequences’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:986:15: return_function: returning to ‘test_encode_escape_sequences’ from ‘escape_utf8_string_literal’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:987:5: call_function: calling ‘streq_not_null’ from ‘test_encode_escape_sequences’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:987:5: return_function: returning to ‘test_encode_escape_sequences’ from ‘streq_not_null’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:987:5: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/test/compose.c:988:5: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/compose.c:995:25: branch_true: following ‘true’ branch (when ‘ascii != -1’)...
libxkbcommon-xkbcommon-1.13.1/test/compose.c:995:25: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/compose.c:996:28: branch_true: following ‘true’ branch (when ‘s != 1000’)...
libxkbcommon-xkbcommon-1.13.1/test/compose.c:997:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1001:34: branch_true: following ‘true’ branch (when ‘idx < length’)...
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1001:34: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1005:41: call_function: calling ‘random_non_null_unicode_char’ from ‘test_encode_escape_sequences’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1005:41: return_function: returning to ‘test_encode_escape_sequences’ from ‘random_non_null_unicode_char’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1007:26: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1008:22: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1009:17: branch_false: following ‘false’ branch (when ‘c <= 60’)...
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1001:48: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1001:34: branch_false: following ‘false’ branch (when ‘idx >= length’)...
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1011:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1011:13: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1012:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1012:13: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1013:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1013:13: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1016:23: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1016:23: call_function: calling ‘escape_utf8_string_literal’ from ‘test_encode_escape_sequences’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1016:23: return_function: returning to ‘test_encode_escape_sequences’ from ‘escape_utf8_string_literal’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1017:16: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1019:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1019:13: throw: if ‘is_valid_utf8’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/compose/escape.h:27:23: danger: ‘escape_utf8_string_literal(&buf)’ leaks here; was allocated at [(94)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/93)
#   25|       const size_t length = strlen(from);
#   26|       /* Longest escape is converting ASCII character to "\xNN" */
#   27|->     char* to = calloc(4 * length + 1, sizeof(*to));
#   28|       if (!to)
#   29|           return NULL;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def79]
libxkbcommon-xkbcommon-1.13.1/src/compose/parser.c:532:10: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(path, "rb")’
libxkbcommon-xkbcommon-1.13.1/src/compose/parser.c:517:8: branch_false: following ‘false’ branch (when ‘include_depth <= 4’)...
libxkbcommon-xkbcommon-1.13.1/src/compose/parser.c:524:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/parser.c:524:12: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/src/compose/parser.c:525:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/parser.c:532:10: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/parser.c:532:10: throw: if ‘map_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/compose/parser.c:532:10: danger: ‘fopen(path, "rb")’ leaks here; was opened at [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#  530|       }
#  531|   
#  532|->     ok = map_file(file, &string, &size);
#  533|       if (!ok) {
#  534|           scanner_err(s, XKB_LOG_MESSAGE_NO_ID,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def80]
libxkbcommon-xkbcommon-1.13.1/src/compose/parser.c:532:10: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(path, "rb")’
libxkbcommon-xkbcommon-1.13.1/src/compose/parser.c:517:8: branch_false: following ‘false’ branch (when ‘include_depth <= 4’)...
libxkbcommon-xkbcommon-1.13.1/src/compose/parser.c:524:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/parser.c:524:12: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/src/compose/parser.c:525:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/parser.c:532:10: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/parser.c:532:10: throw: if ‘map_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/compose/parser.c:532:10: danger: ‘fopen(path, "rb")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/2)
#  530|       }
#  531|   
#  532|->     ok = map_file(file, &string, &size);
#  533|       if (!ok) {
#  534|           scanner_err(s, XKB_LOG_MESSAGE_NO_ID,

Error: GCC_ANALYZER_WARNING (CWE-775): [#def81]
libxkbcommon-xkbcommon-1.13.1/src/compose/paths.c:62:10: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(&path, "rb")’
libxkbcommon-xkbcommon-1.13.1/src/compose/paths.c:55:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/paths.c:58:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/paths.c:58:12: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/src/compose/paths.c:59:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/paths.c:62:10: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/paths.c:62:10: throw: if ‘map_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/compose/paths.c:62:10: danger: ‘fopen(&path, "rb")’ leaks here; was opened at [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#   60|           return NULL;
#   61|   
#   62|->     ok = map_file(file, &string, &string_size);
#   63|       fclose(file);
#   64|       if (!ok)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def82]
libxkbcommon-xkbcommon-1.13.1/src/compose/paths.c:62:10: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(&path, "rb")’
libxkbcommon-xkbcommon-1.13.1/src/compose/paths.c:55:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/paths.c:58:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/paths.c:58:12: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/src/compose/paths.c:59:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/paths.c:62:10: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/paths.c:62:10: throw: if ‘map_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/compose/paths.c:62:10: danger: ‘fopen(&path, "rb")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/2)
#   60|           return NULL;
#   61|   
#   62|->     ok = map_file(file, &string, &string_size);
#   63|       fclose(file);
#   64|       if (!ok)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def83]
libxkbcommon-xkbcommon-1.13.1/src/compose/state.c:43:20: warning[-Wanalyzer-malloc-leak]: leak of ‘state’
libxkbcommon-xkbcommon-1.13.1/src/compose/state.c:38:13: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/src/compose/state.c:39:8: branch_false: following ‘false’ branch (when ‘state’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/compose/state.c:42:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/state.c:43:20: throw: if ‘xkb_compose_table_ref’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/compose/state.c:43:20: danger: ‘state’ leaks here; was allocated at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   41|   
#   42|       state->refcnt = 1;
#   43|->     state->table = xkb_compose_table_ref(table);
#   44|   
#   45|       state->flags = flags;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def84]
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:39:18: warning[-Wanalyzer-malloc-leak]: leak of ‘table’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:29:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:32:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:32:13: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:33:8: branch_false: following ‘false’ branch (when ‘table’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:38:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:39:18: throw: if ‘xkb_context_ref’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:39:18: danger: ‘table’ leaks here; was allocated at [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#   37|   
#   38|       table->refcnt = 1;
#   39|->     table->ctx = xkb_context_ref(ctx);
#   40|   
#   41|       table->locale = resolved_locale;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def85]
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:52:5: warning[-Wanalyzer-malloc-leak]: leak of ‘xkb_compose_table_new(ctx,  locale, 1, 0)’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:151:1: enter_function: entry to ‘xkb_compose_table_new_from_locale’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:160:8: branch_false: following ‘false’ branch (when ‘flags == 0’)...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: call_function: calling ‘xkb_compose_table_new’ from ‘xkb_compose_table_new_from_locale’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: return_function: returning to ‘xkb_compose_table_new_from_locale’ from ‘xkb_compose_table_new’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:168:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:171:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:171:12: throw: if ‘get_xcomposefile_path’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:52:5: danger: ‘xkb_compose_table_new(ctx,  locale, 1, 0)’ leaks here; was allocated at [(8)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/7)
#   50|       dummy.leaf.utf8 = 0;
#   51|       dummy.leaf.keysym = XKB_KEY_NoSymbol;
#   52|->     darray_append(table->nodes, dummy);
#   53|   
#   54|       darray_append(table->utf8, '\0');

Error: GCC_ANALYZER_WARNING (CWE-476): [#def86]
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:52:5: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘*table.nodes.item’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:29:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:32:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:33:8: branch_false: following ‘false’ branch (when ‘table’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:38:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:52:5: acquire_memory: this call could return NULL
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:52:5: danger: ‘*table.nodes.item’ could be NULL: unchecked value from [(5)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/4)
#   50|       dummy.leaf.utf8 = 0;
#   51|       dummy.leaf.keysym = XKB_KEY_NoSymbol;
#   52|->     darray_append(table->nodes, dummy);
#   53|   
#   54|       darray_append(table->utf8, '\0');

Error: GCC_ANALYZER_WARNING (CWE-476): [#def87]
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:54:5: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘*table.utf8.item’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:29:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:32:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:33:8: branch_false: following ‘false’ branch (when ‘table’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:38:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:54:5: acquire_memory: this call could return NULL
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:54:5: danger: ‘*table.utf8.item’ could be NULL: unchecked value from [(5)](sarif:/runs/0/results/15/codeFlows/0/threadFlows/0/locations/4)
#   52|       darray_append(table->nodes, dummy);
#   53|   
#   54|->     darray_append(table->utf8, '\0');
#   55|   
#   56|       return table;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def88]
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:106:10: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:81:1: enter_function: entry to ‘xkb_compose_table_new_from_file’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:90:8: branch_false: following ‘false’ branch (when ‘flags == 0’)...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:96:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:96:8: branch_false: following ‘false’ branch (when ‘format == 1’)...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:102:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:102:13: call_function: calling ‘xkb_compose_table_new’ from ‘xkb_compose_table_new_from_file’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:102:13: return_function: returning to ‘xkb_compose_table_new_from_file’ from ‘xkb_compose_table_new’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:103:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:106:10: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:106:10: throw: if ‘parse_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:106:10: danger: ‘<unknown>’ leaks here; was allocated at [(12)](sarif:/runs/0/results/16/codeFlows/0/threadFlows/0/locations/11)
#  104|           return NULL;
#  105|   
#  106|->     ok = parse_file(table, file, "(unknown file)");
#  107|       if (!ok) {
#  108|           xkb_compose_table_unref(table);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def89]
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:141:10: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:116:1: enter_function: entry to ‘xkb_compose_table_new_from_buffer’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:125:8: branch_false: following ‘false’ branch (when ‘flags == 0’)...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:131:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:131:8: branch_false: following ‘false’ branch (when ‘format == 1’)...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:137:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:137:13: call_function: calling ‘xkb_compose_table_new’ from ‘xkb_compose_table_new_from_buffer’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:137:13: return_function: returning to ‘xkb_compose_table_new_from_buffer’ from ‘xkb_compose_table_new’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:138:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:141:10: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:141:10: throw: if ‘parse_string’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:141:10: danger: ‘<unknown>’ leaks here; was allocated at [(12)](sarif:/runs/0/results/17/codeFlows/0/threadFlows/0/locations/11)
#  139|           return NULL;
#  140|   
#  141|->     ok = parse_string(table, buffer, length, "(input string)");
#  142|       if (!ok) {
#  143|           xkb_compose_table_unref(table);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def90]
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:171:12: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:151:1: enter_function: entry to ‘xkb_compose_table_new_from_locale’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:160:8: branch_false: following ‘false’ branch (when ‘flags == 0’)...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: call_function: calling ‘xkb_compose_table_new’ from ‘xkb_compose_table_new_from_locale’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: return_function: returning to ‘xkb_compose_table_new_from_locale’ from ‘xkb_compose_table_new’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:168:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:171:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:171:12: throw: if ‘get_xcomposefile_path’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:171:12: danger: ‘<unknown>’ leaks here; was allocated at [(10)](sarif:/runs/0/results/18/codeFlows/0/threadFlows/0/locations/9)
#  169|           return NULL;
#  170|   
#  171|->     path = get_xcomposefile_path(ctx);
#  172|       file = open_file(path);
#  173|       if (file)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def91]
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:172:12: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:151:1: enter_function: entry to ‘xkb_compose_table_new_from_locale’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:160:8: branch_false: following ‘false’ branch (when ‘flags == 0’)...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: call_function: calling ‘xkb_compose_table_new’ from ‘xkb_compose_table_new_from_locale’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: return_function: returning to ‘xkb_compose_table_new_from_locale’ from ‘xkb_compose_table_new’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:168:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:171:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:172:12: throw: if ‘open_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:172:12: danger: ‘<unknown>’ leaks here; was allocated at [(10)](sarif:/runs/0/results/19/codeFlows/0/threadFlows/0/locations/9)
#  170|   
#  171|       path = get_xcomposefile_path(ctx);
#  172|->     file = open_file(path);
#  173|       if (file)
#  174|           goto found_path;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def92]
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:177:12: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:151:1: enter_function: entry to ‘xkb_compose_table_new_from_locale’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:160:8: branch_false: following ‘false’ branch (when ‘flags == 0’)...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: call_function: calling ‘xkb_compose_table_new’ from ‘xkb_compose_table_new_from_locale’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: return_function: returning to ‘xkb_compose_table_new_from_locale’ from ‘xkb_compose_table_new’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:168:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:171:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:173:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:175:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:177:12: throw: if ‘get_xdg_xcompose_file_path’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:177:12: danger: ‘<unknown>’ leaks here; was allocated at [(10)](sarif:/runs/0/results/20/codeFlows/0/threadFlows/0/locations/9)
#  175|       free(path);
#  176|   
#  177|->     path = get_xdg_xcompose_file_path(ctx);
#  178|       file = open_file(path);
#  179|       if (file)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def93]
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:178:12: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:151:1: enter_function: entry to ‘xkb_compose_table_new_from_locale’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:160:8: branch_false: following ‘false’ branch (when ‘flags == 0’)...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: call_function: calling ‘xkb_compose_table_new’ from ‘xkb_compose_table_new_from_locale’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: return_function: returning to ‘xkb_compose_table_new_from_locale’ from ‘xkb_compose_table_new’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:168:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:171:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:173:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:175:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:178:12: throw: if ‘open_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:178:12: danger: ‘<unknown>’ leaks here; was allocated at [(10)](sarif:/runs/0/results/21/codeFlows/0/threadFlows/0/locations/9)
#  176|   
#  177|       path = get_xdg_xcompose_file_path(ctx);
#  178|->     file = open_file(path);
#  179|       if (file)
#  180|           goto found_path;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def94]
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:183:12: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:151:1: enter_function: entry to ‘xkb_compose_table_new_from_locale’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:160:8: branch_false: following ‘false’ branch (when ‘flags == 0’)...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: call_function: calling ‘xkb_compose_table_new’ from ‘xkb_compose_table_new_from_locale’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: return_function: returning to ‘xkb_compose_table_new_from_locale’ from ‘xkb_compose_table_new’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:168:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:171:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:173:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:175:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:179:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:181:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:183:12: throw: if ‘get_home_xcompose_file_path’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:183:12: danger: ‘<unknown>’ leaks here; was allocated at [(10)](sarif:/runs/0/results/22/codeFlows/0/threadFlows/0/locations/9)
#  181|       free(path);
#  182|   
#  183|->     path = get_home_xcompose_file_path(ctx);
#  184|       file = open_file(path);
#  185|       if (file)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def95]
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:184:12: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:151:1: enter_function: entry to ‘xkb_compose_table_new_from_locale’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:160:8: branch_false: following ‘false’ branch (when ‘flags == 0’)...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: call_function: calling ‘xkb_compose_table_new’ from ‘xkb_compose_table_new_from_locale’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: return_function: returning to ‘xkb_compose_table_new_from_locale’ from ‘xkb_compose_table_new’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:168:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:171:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:173:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:175:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:179:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:181:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:184:12: throw: if ‘open_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:184:12: danger: ‘<unknown>’ leaks here; was allocated at [(10)](sarif:/runs/0/results/23/codeFlows/0/threadFlows/0/locations/9)
#  182|   
#  183|       path = get_home_xcompose_file_path(ctx);
#  184|->     file = open_file(path);
#  185|       if (file)
#  186|           goto found_path;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def96]
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:189:12: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:151:1: enter_function: entry to ‘xkb_compose_table_new_from_locale’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:160:8: branch_false: following ‘false’ branch (when ‘flags == 0’)...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: call_function: calling ‘xkb_compose_table_new’ from ‘xkb_compose_table_new_from_locale’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: return_function: returning to ‘xkb_compose_table_new_from_locale’ from ‘xkb_compose_table_new’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:168:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:171:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:173:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:175:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:179:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:181:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:185:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:187:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:189:12: throw: if ‘get_locale_compose_file_path’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:189:12: danger: ‘<unknown>’ leaks here; was allocated at [(10)](sarif:/runs/0/results/24/codeFlows/0/threadFlows/0/locations/9)
#  187|       free(path);
#  188|   
#  189|->     path = get_locale_compose_file_path(ctx, table->locale);
#  190|       file = open_file(path);
#  191|       if (file)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def97]
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:190:12: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:151:1: enter_function: entry to ‘xkb_compose_table_new_from_locale’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:160:8: branch_false: following ‘false’ branch (when ‘flags == 0’)...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: call_function: calling ‘xkb_compose_table_new’ from ‘xkb_compose_table_new_from_locale’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: return_function: returning to ‘xkb_compose_table_new_from_locale’ from ‘xkb_compose_table_new’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:168:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:171:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:173:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:175:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:179:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:181:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:185:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:187:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:190:12: throw: if ‘open_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:190:12: danger: ‘<unknown>’ leaks here; was allocated at [(10)](sarif:/runs/0/results/25/codeFlows/0/threadFlows/0/locations/9)
#  188|   
#  189|       path = get_locale_compose_file_path(ctx, table->locale);
#  190|->     file = open_file(path);
#  191|       if (file)
#  192|           goto found_path;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def98]
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:195:5: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:151:1: enter_function: entry to ‘xkb_compose_table_new_from_locale’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:160:8: branch_false: following ‘false’ branch (when ‘flags == 0’)...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: call_function: calling ‘xkb_compose_table_new’ from ‘xkb_compose_table_new_from_locale’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: return_function: returning to ‘xkb_compose_table_new_from_locale’ from ‘xkb_compose_table_new’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:168:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:171:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:173:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:175:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:179:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:181:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:185:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:187:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:191:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:193:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:195:5: throw: if ‘xkb_log’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:195:5: danger: ‘<unknown>’ leaks here; was allocated at [(10)](sarif:/runs/0/results/26/codeFlows/0/threadFlows/0/locations/9)
#  193|       free(path);
#  194|   
#  195|->     log_err(ctx, XKB_ERROR_INVALID_COMPOSE_LOCALE,
#  196|               "couldn't find a Compose file for locale \"%s\" (mapped to \"%s\")\n",
#  197|               locale, table->locale);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def99]
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:202:10: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:151:1: enter_function: entry to ‘xkb_compose_table_new_from_locale’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:160:8: branch_false: following ‘false’ branch (when ‘flags == 0’)...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: call_function: calling ‘xkb_compose_table_new’ from ‘xkb_compose_table_new_from_locale’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:166:13: return_function: returning to ‘xkb_compose_table_new_from_locale’ from ‘xkb_compose_table_new’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:168:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:171:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:202:10: throw: if ‘parse_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:202:10: danger: ‘<unknown>’ leaks here; was allocated at [(10)](sarif:/runs/0/results/27/codeFlows/0/threadFlows/0/locations/9)
#  200|   
#  201|   found_path:
#  202|->     ok = parse_file(table, file, path);
#  203|       fclose(file);
#  204|       if (!ok) {

Error: GCC_ANALYZER_WARNING (CWE-476): [#def100]
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:284:5: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘*iter.pending_nodes.item’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:256:1: enter_function: entry to ‘xkb_compose_table_iterator_new’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:262:8: branch_false: following ‘false’ branch (when ‘iter’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:265:19: call_function: inlined call to ‘xkb_compose_table_ref’ from ‘xkb_compose_table_iterator_new’
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:267:8: branch_false: following ‘false’ branch (when ‘sequence’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:271:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:276:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:284:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:284:5: acquire_memory: this call could return NULL
libxkbcommon-xkbcommon-1.13.1/src/compose/table.c:284:5: danger: ‘*iter.pending_nodes.item’ could be NULL: unchecked value from [(11)](sarif:/runs/0/results/28/codeFlows/0/threadFlows/0/locations/10)
#  282|           .processed = false
#  283|       };
#  284|->     darray_append(iter->pending_nodes, pending);
#  285|       const struct compose_node *node = &darray_item(iter->table->nodes,
#  286|                                                      pending.offset);

Error: GCC_ANALYZER_WARNING (CWE-404): [#def101]
libxkbcommon-xkbcommon-1.13.1/src/context-priv.c:107:5: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
libxkbcommon-xkbcommon-1.13.1/src/context-priv.c:103:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/context-priv.c:106:5: acquire_resource: ‘va_start’ called here
libxkbcommon-xkbcommon-1.13.1/src/context-priv.c:107:5: throw: if the called function throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/context-priv.c:107:5: danger: missing call to ‘va_end’ to match ‘va_start’ at [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#  105|   
#  106|       va_start(args, fmt);
#  107|->     ctx->log_fn(ctx, level, fmt, args);
#  108|       va_end(args);
#  109|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def102]
libxkbcommon-xkbcommon-1.13.1/src/context.c:170:21: warning[-Wanalyzer-malloc-leak]: leak of ‘opendir(path)’
libxkbcommon-xkbcommon-1.13.1/src/context.c:366:1: enter_function: entry to ‘xkb_context_include_path_reset_defaults’
libxkbcommon-xkbcommon-1.13.1/src/context.c:369:12: call_function: calling ‘xkb_context_include_path_append_default’ from ‘xkb_context_include_path_reset_defaults’
#  168|       char path_buf[PATH_MAX] = "";
#  169|       versioned_path_length++; /* Additional final ‘/’ */
#  170|->     while ((entry = readdir(dir)) != NULL) {
#  171|           const char *name = entry->d_name;
#  172|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def103]
libxkbcommon-xkbcommon-1.13.1/src/context.c:198:9: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/src/context.c:366:1: enter_function: entry to ‘xkb_context_include_path_reset_defaults’
libxkbcommon-xkbcommon-1.13.1/src/context.c:369:12: call_function: calling ‘xkb_context_include_path_append_default’ from ‘xkb_context_include_path_reset_defaults’
#  196|           }
#  197|   
#  198|->         darray_append(*extensions, ext_path);
#  199|   next:
#  200|       {} /* Label at end of compound statement is a C23 extension */

Error: GCC_ANALYZER_WARNING (CWE-401): [#def104]
libxkbcommon-xkbcommon-1.13.1/src/context.c:528:11: warning[-Wanalyzer-malloc-leak]: leak of ‘ctx’
libxkbcommon-xkbcommon-1.13.1/src/context.c:496:31: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/src/context.c:498:8: branch_false: following ‘false’ branch (when ‘ctx’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/context.c:501:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/context.c:528:11: throw: if ‘xkb_context_getenv’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/context.c:528:11: danger: ‘ctx’ leaks here; was allocated at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#  526|   
#  527|       /* Environment overwrites defaults. */
#  528|->     env = xkb_context_getenv(ctx, "XKB_LOG_LEVEL");
#  529|       if (env)
#  530|           xkb_context_set_log_level(ctx, log_level(env));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def105]
libxkbcommon-xkbcommon-1.13.1/src/keymap-priv.c:34:37: warning[-Wanalyzer-malloc-leak]: leak of ‘keymap’
libxkbcommon-xkbcommon-1.13.1/src/keymap-priv.c:46:1: enter_function: entry to ‘xkb_keymap_new’
libxkbcommon-xkbcommon-1.13.1/src/keymap-priv.c:52:14: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/src/keymap-priv.c:53:8: branch_false: following ‘false’ branch (when ‘keymap’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/keymap-priv.c:56:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/keymap-priv.c:62:5: call_function: calling ‘update_builtin_keymap_fields’ from ‘xkb_keymap_new’
#   32|   
#   33|       for (xkb_mod_index_t i = 0; i < ARRAY_SIZE(builtin_mods); i++) {
#   34|->         keymap->mods.mods[i].name = xkb_atom_intern(keymap->ctx,
#   35|                                                       builtin_mods[i],
#   36|                                                       strlen(builtin_mods[i]));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def106]
libxkbcommon-xkbcommon-1.13.1/src/keymap-priv.c:57:19: warning[-Wanalyzer-malloc-leak]: leak of ‘keymap’
libxkbcommon-xkbcommon-1.13.1/src/keymap-priv.c:52:14: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/src/keymap-priv.c:53:8: branch_false: following ‘false’ branch (when ‘keymap’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/keymap-priv.c:56:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/keymap-priv.c:57:19: throw: if ‘xkb_context_ref’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/keymap-priv.c:57:19: danger: ‘keymap’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#   55|   
#   56|       keymap->refcnt = 1;
#   57|->     keymap->ctx = xkb_context_ref(ctx);
#   58|   
#   59|       keymap->format = format;

Error: CPPCHECK_WARNING (CWE-476): [#def107]
libxkbcommon-xkbcommon-1.13.1/src/keysym.c:137: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: iter
#  135|   {
#  136|       struct xkb_keysym_iterator* iter = calloc(1, sizeof(*iter));
#  137|->     iter->explicit = iterate_only_explicit_keysyms;
#  138|       iter->index = -1;
#  139|       iter->keysym = XKB_KEYSYM_UNICODE_MAX;

Error: CPPCHECK_WARNING (CWE-476): [#def108]
libxkbcommon-xkbcommon-1.13.1/src/keysym.c:138: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: iter
#  136|       struct xkb_keysym_iterator* iter = calloc(1, sizeof(*iter));
#  137|       iter->explicit = iterate_only_explicit_keysyms;
#  138|->     iter->index = -1;
#  139|       iter->keysym = XKB_KEYSYM_UNICODE_MAX;
#  140|       return iter;

Error: CPPCHECK_WARNING (CWE-476): [#def109]
libxkbcommon-xkbcommon-1.13.1/src/keysym.c:139: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: iter
#  137|       iter->explicit = iterate_only_explicit_keysyms;
#  138|       iter->index = -1;
#  139|->     iter->keysym = XKB_KEYSYM_UNICODE_MAX;
#  140|       return iter;
#  141|   }

Error: GCC_ANALYZER_WARNING (CWE-404): [#def110]
libxkbcommon-xkbcommon-1.13.1/src/registry.c:139:5: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
libxkbcommon-xkbcommon-1.13.1/src/registry.c:1457:1: enter_function: entry to ‘parse’
libxkbcommon-xkbcommon-1.13.1/src/registry.c:1470:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/registry.c:1478:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/registry.c:1491:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/registry.c:1494:10: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/registry.c:1494:10: call_function: calling ‘validate’ from ‘parse’
#  137|   
#  138|       va_start(args, fmt);
#  139|->     ctx->log_fn(ctx, level, fmt, args);
#  140|       va_end(args);
#  141|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def111]
libxkbcommon-xkbcommon-1.13.1/src/registry.c:648:21: warning[-Wanalyzer-malloc-leak]: leak of ‘opendir(path)’
libxkbcommon-xkbcommon-1.13.1/src/registry.c:707:1: enter_function: entry to ‘rxkb_context_include_path_append_default’
libxkbcommon-xkbcommon-1.13.1/src/registry.c:757:16: call_function: calling ‘add_direct_subdirectories’ from ‘rxkb_context_include_path_append_default’
#  646|       char path_buf[PATH_MAX] = "";
#  647|       versioned_path_length++; /* Additional final ‘/’ */
#  648|->     while ((entry = readdir(dir)) != NULL) {
#  649|           const char *name = entry->d_name;
#  650|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def112]
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:30:20: warning[-Wanalyzer-malloc-leak]: leak of ‘builder’
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:25:48: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:26:8: branch_false: following ‘false’ branch (when ‘builder’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:29:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:30:20: throw: if ‘xkb_context_ref’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:30:20: danger: ‘builder’ leaks here; was allocated at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   28|   
#   29|       builder->refcnt = 1;
#   30|->     builder->ctx = xkb_context_ref(context);
#   31|   
#   32|       builder->rules = strdup_safe(rules);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def113]
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:46:5: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:21:1: enter_function: entry to ‘xkb_rmlvo_builder_new’
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:26:8: branch_false: following ‘false’ branch (when ‘builder’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:29:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:32:22: call_function: inlined call to ‘strdup_safe’ from ‘xkb_rmlvo_builder_new’
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:33:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:36:22: call_function: inlined call to ‘strdup_safe’ from ‘xkb_rmlvo_builder_new’
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:37:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:46:5: throw: if ‘xkb_log’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:46:5: danger: ‘<unknown>’ leaks here; was allocated at [(7)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/6)
#   44|   
#   45|   error:
#   46|->     log_err(context, XKB_ERROR_ALLOCATION_ERROR,
#   47|               "Cannot allocate a RMLVO builder.\n");
#   48|       xkb_rmlvo_builder_unref(builder);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def114]
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:46:5: warning[-Wanalyzer-malloc-leak]: leak of ‘builder’
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:21:1: enter_function: entry to ‘xkb_rmlvo_builder_new’
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:25:48: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:26:8: branch_false: following ‘false’ branch (when ‘builder’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:29:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:32:22: call_function: inlined call to ‘strdup_safe’ from ‘xkb_rmlvo_builder_new’
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:33:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:46:5: throw: if ‘xkb_log’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:46:5: danger: ‘builder’ leaks here; was allocated at [(2)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/1)
#   44|   
#   45|   error:
#   46|->     log_err(context, XKB_ERROR_ALLOCATION_ERROR,
#   47|               "Cannot allocate a RMLVO builder.\n");
#   48|       xkb_rmlvo_builder_unref(builder);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def115]
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:170:5: warning[-Wanalyzer-malloc-leak]: leak of ‘builder’
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:21:1: enter_function: entry to ‘xkb_rmlvo_builder_new’
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:25:48: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:26:8: branch_false: following ‘false’ branch (when ‘builder’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:29:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:32:22: call_function: inlined call to ‘strdup_safe’ from ‘xkb_rmlvo_builder_new’
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:33:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/src/rmlvo.c:48:5: call_function: calling ‘xkb_rmlvo_builder_unref’ from ‘xkb_rmlvo_builder_new’
#  168|       darray_free(rmlvo->options);
#  169|   
#  170|->     xkb_context_unref(rmlvo->ctx);
#  171|       free(rmlvo);
#  172|   }

Error: CPPCHECK_WARNING (CWE-758): [#def116]
libxkbcommon-xkbcommon-1.13.1/src/state.c:1516: warning[objectIndex]: The address of variable 'sym' might be accessed at non-zero index.
# 1514|       char tmp[XKB_KEYSYM_UTF8_MAX_SIZE];
# 1515|       for (int i = 0; i < nsyms; i++) {
# 1516|->         int ret = xkb_keysym_to_utf8(syms[i], tmp, sizeof(tmp));
# 1517|           if (ret <= 0)
# 1518|               goto err_bad;

Error: GCC_ANALYZER_WARNING (CWE-404): [#def117]
libxkbcommon-xkbcommon-1.13.1/src/state.c:1745:37: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
libxkbcommon-xkbcommon-1.13.1/src/state.c:1740:5: acquire_resource: ‘va_start’ called here
libxkbcommon-xkbcommon-1.13.1/src/state.c:1743:12: branch_false: following ‘false’ branch (when ‘str’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/state.c:1745:37: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/state.c:1745:37: throw: if ‘xkb_keymap_mod_get_index’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/state.c:1745:37: danger: missing call to ‘va_end’ to match ‘va_start’ at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
# 1743|           if (str == NULL)
# 1744|               break;
# 1745|->         const xkb_mod_index_t idx = xkb_keymap_mod_get_index(state->keymap, str);
# 1746|           if (idx == XKB_MOD_INVALID) {
# 1747|               ret = -1;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def118]
libxkbcommon-xkbcommon-1.13.1/src/x11/keymap.c:936:9: warning[-Wanalyzer-malloc-leak]: leak of ‘*type.level_names’
libxkbcommon-xkbcommon-1.13.1/src/x11/keymap.c:924:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/x11/keymap.c:925:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/x11/keymap.c:925:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/x11/keymap.c:925:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/x11/keymap.c:927:21: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/src/x11/keymap.c:928:20: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/x11/keymap.c:933:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/x11/keymap.c:936:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/x11/keymap.c:936:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/src/x11/keymap.c:936:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/x11/keymap.c:936:9: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/src/x11/keymap.c:936:9: danger: ‘*type.level_names’ leaks here; was allocated at [(11)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/10)
#  934|   
#  935|           /* Allocate names for all levels, even if some names are missing */
#  936|->         ALLOC_OR_FAIL(type->level_names, type->num_levels);
#  937|   
#  938|           x11_atom_interner_adopt_atom(interner, wire_type_name, &type->name);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def119]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/compat.c:527:22: warning[-Wanalyzer-malloc-leak]: leak of ‘actions.item’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/compat.c:1013:1: enter_function: entry to ‘CompileCompatMap’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/compat.c:1019:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/compat.c:1020:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/compat.c:1020:9: call_function: calling ‘HandleCompatMapFile’ from ‘CompileCompatMap’
#  525|                    act; act = (ExprDef *) act->common.next) {
#  526|                   union xkb_action toAct = { 0 };
#  527|->                 if (!HandleActionDef(info->ctx, info->format,
#  528|                                        &info->default_actions, &info->mods,
#  529|                                        act, &toAct)) {

Error: GCC_ANALYZER_WARNING (CWE-476): [#def120]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/compat.c:540:21: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/compat.c:1013:1: enter_function: entry to ‘CompileCompatMap’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/compat.c:1019:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/compat.c:1020:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/compat.c:1020:9: call_function: calling ‘HandleCompatMapFile’ from ‘CompileCompatMap’
#  538|                       si->interp.a.action = toAct;
#  539|                   } else {
#  540|->                     darray_append(actions, toAct);
#  541|                   }
#  542|               }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def121]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/compat.c:893:13: warning[-Wanalyzer-malloc-leak]: leak of ‘info.name’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/compat.c:1013:1: enter_function: entry to ‘CompileCompatMap’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/compat.c:1019:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/compat.c:1020:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/compat.c:1020:9: call_function: calling ‘HandleCompatMapFile’ from ‘CompileCompatMap’
#  891|               break;
#  892|           default:
#  893|->             log_err(info->ctx, XKB_LOG_MESSAGE_NO_ID,
#  894|                       "Compat files may not include other types; "
#  895|                       "Ignoring %s\n", stmt_type_to_string(stmt->type));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def122]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/compat.c:893:13: warning[-Wanalyzer-malloc-leak]: leak of ‘next_incl.name’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/compat.c:1013:1: enter_function: entry to ‘CompileCompatMap’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/compat.c:1019:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/compat.c:1020:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/compat.c:1020:9: call_function: calling ‘HandleCompatMapFile’ from ‘CompileCompatMap’
#  891|               break;
#  892|           default:
#  893|->             log_err(info->ctx, XKB_LOG_MESSAGE_NO_ID,
#  894|                       "Compat files may not include other types; "
#  895|                       "Ignoring %s\n", stmt_type_to_string(stmt->type));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def123]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keycodes.c:875:13: warning[-Wanalyzer-malloc-leak]: leak of ‘info.name’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keycodes.c:1024:1: enter_function: entry to ‘CompileKeycodes’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keycodes.c:1030:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keycodes.c:1031:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keycodes.c:1031:9: call_function: calling ‘HandleKeycodesFile’ from ‘CompileKeycodes’
#  873|               break;
#  874|           default:
#  875|->             log_err(info->ctx, XKB_LOG_MESSAGE_NO_ID,
#  876|                       "Keycode files may define key and indicator names only; "
#  877|                       "Ignoring %s\n", stmt_type_to_string(stmt->type));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def124]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keycodes.c:875:13: warning[-Wanalyzer-malloc-leak]: leak of ‘next_incl.name’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keycodes.c:1024:1: enter_function: entry to ‘CompileKeycodes’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keycodes.c:1030:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keycodes.c:1031:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keycodes.c:1031:9: call_function: calling ‘HandleKeycodesFile’ from ‘CompileKeycodes’
#  873|               break;
#  874|           default:
#  875|->             log_err(info->ctx, XKB_LOG_MESSAGE_NO_ID,
#  876|                       "Keycode files may define key and indicator names only; "
#  877|                       "Ignoring %s\n", stmt_type_to_string(stmt->type));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def125]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-dump.c:283:13: warning[-Wanalyzer-malloc-leak]: leak of ‘buf.buf’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-dump.c:1068:1: enter_function: entry to ‘text_v1_keymap_get_as_string’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-dump.c:1074:10: call_function: calling ‘write_keymap’ from ‘text_v1_keymap_get_as_string’
#  281|   
#  282|           if (pretty)
#  283|->             write_buf(buf, "\t%-20s", KeyNameText(keymap->ctx, key->name));
#  284|           else
#  285|               write_buf(buf, "\t%s", KeyNameText(keymap->ctx, key->name));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def126]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-dump.c:285:13: warning[-Wanalyzer-malloc-leak]: leak of ‘buf.buf’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-dump.c:1068:1: enter_function: entry to ‘text_v1_keymap_get_as_string’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-dump.c:1074:10: call_function: calling ‘write_keymap’ from ‘text_v1_keymap_get_as_string’
#  283|               write_buf(buf, "\t%-20s", KeyNameText(keymap->ctx, key->name));
#  284|           else
#  285|->             write_buf(buf, "\t%s", KeyNameText(keymap->ctx, key->name));
#  286|           write_buf(buf, " = %"PRIu32";\n", key->keycode);
#  287|       }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def127]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:196:5: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘*section.buffer.item + (sizetype)(*section.buffer.size + 4294967295)’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:384:1: enter_function: entry to ‘xkb_file_iterator_new_from_buffer’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:393:8: branch_false: following ‘false’ branch (when ‘iter’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:399:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:404:5: call_function: calling ‘xkb_file_section_init’ from ‘xkb_file_iterator_new_from_buffer’
#  194|       darray_init(section->includes);
#  195|       darray_init(section->buffer);
#  196|->     darray_append(section->buffer, '\0');
#  197|   }
#  198|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def128]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:363:25: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(path, "rb")’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:353:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:356:18: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:356:18: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:357:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:363:25: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:363:25: throw: if ‘XkbParseFile’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:363:25: danger: ‘fopen(path, "rb")’ leaks here; was opened at [(3)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/2)
#  361|       }
#  362|   
#  363|->     XkbFile *xkb_file = XkbParseFile(ctx, file, path, map);
#  364|       fclose(file);
#  365|       if (!xkb_file) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def129]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:363:25: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(path, "rb")’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:353:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:356:18: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:356:18: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:357:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:363:25: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:363:25: throw: if ‘XkbParseFile’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:363:25: danger: ‘fopen(path, "rb")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/2)
#  361|       }
#  362|   
#  363|->     XkbFile *xkb_file = XkbParseFile(ctx, file, path, map);
#  364|       fclose(file);
#  365|       if (!xkb_file) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def130]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:406:10: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:384:1: enter_function: entry to ‘xkb_file_iterator_new_from_buffer’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:393:8: branch_false: following ‘false’ branch (when ‘iter’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:399:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:404:5: call_function: calling ‘xkb_file_section_init’ from ‘xkb_file_iterator_new_from_buffer’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:404:5: return_function: returning to ‘xkb_file_iterator_new_from_buffer’ from ‘xkb_file_section_init’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:406:10: throw: if ‘XkbParseStringInit’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:406:10: danger: ‘<unknown>’ leaks here; was allocated at [(6)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/5)
#  404|       xkb_file_section_init(&iter->section);
#  405|   
#  406|->     if (!XkbParseStringInit(ctx, &iter->scanner, string, length, path, NULL)) {
#  407|           xkb_file_iterator_free(iter);
#  408|           return NULL;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def131]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:406:10: warning[-Wanalyzer-malloc-leak]: leak of ‘iter’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:392:45: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:393:8: branch_false: following ‘false’ branch (when ‘iter’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:399:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:406:10: throw: if ‘XkbParseStringInit’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap-file-iterator.c:406:10: danger: ‘iter’ leaks here; was allocated at [(1)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/0)
#  404|       xkb_file_section_init(&iter->section);
#  405|   
#  406|->     if (!XkbParseStringInit(ctx, &iter->scanner, string, length, path, NULL)) {
#  407|           xkb_file_iterator_free(iter);
#  408|           return NULL;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def132]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap.c:164:17: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap.c:555:1: enter_function: entry to ‘CompileKeymap’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap.c:595:10: branch_true: following ‘true’ branch (when ‘type != 4’)...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap.c:597:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap.c:609:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap.c:596:10: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap.c:609:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap.c:596:10: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap.c:617:12: call_function: calling ‘UpdateDerivedKeymapFields’ from ‘CompileKeymap’
#  162|               }
#  163|               if (found) {
#  164|->                 darray_append(*interprets, interp);
#  165|                   interp->required = true;
#  166|                   break;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def133]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap.c:171:13: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap.c:555:1: enter_function: entry to ‘CompileKeymap’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap.c:595:10: branch_true: following ‘true’ branch (when ‘type != 4’)...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap.c:597:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap.c:609:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap.c:596:10: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap.c:609:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap.c:596:10: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap.c:617:12: call_function: calling ‘UpdateDerivedKeymapFields’ from ‘CompileKeymap’
#  169|           if (!found)
#  170|   not_found:
#  171|->             darray_append(*interprets, &default_interpret);
#  172|       }
#  173|       return true;

Error: GCC_ANALYZER_WARNING (CWE-415): [#def134]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap.c:220:21: warning[-Wanalyzer-double-free]: double-‘free’ of ‘<unknown>’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap.c:555:1: enter_function: entry to ‘CompileKeymap’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap.c:595:10: branch_true: following ‘true’ branch (when ‘type != 4’)...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap.c:597:13: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap.c:609:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap.c:596:10: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap.c:609:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap.c:596:10: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/keymap.c:617:12: call_function: calling ‘UpdateDerivedKeymapFields’ from ‘CompileKeymap’
#  218|                       break;
#  219|                   default:
#  220|->                     darray_append_items(actions, interp->a.actions,
#  221|                                           interp->num_actions);
#  222|                   }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def135]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:340:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘__builtin_malloc(96)’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:2110:1: enter_function: entry to ‘xkb_components_from_rules_names’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:2115:31: call_function: calling ‘matcher_new_from_names’ from ‘xkb_components_from_rules_names’
#  338|       if (!s) {
#  339|           struct matched_sval val = { .sval = { NULL, 0 } };
#  340|->         darray_append(arr, val);
#  341|           return arr;
#  342|       }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def136]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:422:32: warning[-Wanalyzer-malloc-leak]: leak of ‘m’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:2092:1: enter_function: entry to ‘xkb_components_from_rmlvo_builder’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:2097:31: call_function: calling ‘matcher_new_from_rmlvo’ from ‘xkb_components_from_rmlvo_builder’
#  420|           .options = (darray_empty(rmlvo->options)) ? NULL : "x",
#  421|       };
#  422|->     const enum RMLVO changed = xkb_context_sanitize_rule_names(rmlvo->ctx,
#  423|                                                                  &names);
#  424|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def137]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:474:13: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:2092:1: enter_function: entry to ‘xkb_components_from_rmlvo_builder’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:2097:31: call_function: calling ‘matcher_new_from_rmlvo’ from ‘xkb_components_from_rmlvo_builder’
#  472|                   .matched = false
#  473|               };
#  474|->             darray_append(m->rmlvo.layouts, val);
#  475|               val.sval.start = layout->variant;
#  476|               val.sval.len = strlen_safe(layout->variant);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def138]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:474:13: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:2092:1: enter_function: entry to ‘xkb_components_from_rmlvo_builder’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:2097:31: call_function: calling ‘matcher_new_from_rmlvo’ from ‘xkb_components_from_rmlvo_builder’
#  472|                   .matched = false
#  473|               };
#  474|->             darray_append(m->rmlvo.layouts, val);
#  475|               val.sval.start = layout->variant;
#  476|               val.sval.len = strlen_safe(layout->variant);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def139]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:477:13: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:2092:1: enter_function: entry to ‘xkb_components_from_rmlvo_builder’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:2097:31: call_function: calling ‘matcher_new_from_rmlvo’ from ‘xkb_components_from_rmlvo_builder’
#  475|               val.sval.start = layout->variant;
#  476|               val.sval.len = strlen_safe(layout->variant);
#  477|->             darray_append(m->rmlvo.variants, val);
#  478|           }
#  479|       }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def140]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:497:13: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:2092:1: enter_function: entry to ‘xkb_components_from_rmlvo_builder’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:2097:31: call_function: calling ‘matcher_new_from_rmlvo’ from ‘xkb_components_from_rmlvo_builder’
#  495|                   .matched = false
#  496|               };
#  497|->             darray_append(m->rmlvo.options, val);
#  498|           }
#  499|       }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def141]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1203:9: warning[-Wanalyzer-malloc-leak]: leak of ‘expanded.item’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1490:1: enter_function: entry to ‘matcher_rule_apply_if_matches’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1607:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1609:14: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1610:14: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1613:37: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1658:21: call_function: calling ‘append_expanded_kccgst_value’ from ‘matcher_rule_apply_if_matches’
# 1201|           int count = snprintf(index_str, sizeof(index_str), "%"PRIu32,
# 1202|                                layout_idx + 1);
# 1203|->         darray_appends_nullterminate(*expanded, index_str, count);
# 1204|           return true;
# 1205|       }

Error: GCC_ANALYZER_WARNING (CWE-688): [#def142]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1203:9: warning[-Wanalyzer-null-argument]: use of NULL ‘expanded.item’ where non-null expected
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1490:1: enter_function: entry to ‘matcher_rule_apply_if_matches’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1607:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1609:14: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1610:14: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1613:37: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1658:21: call_function: calling ‘append_expanded_kccgst_value’ from ‘matcher_rule_apply_if_matches’
# 1201|           int count = snprintf(index_str, sizeof(index_str), "%"PRIu32,
# 1202|                                layout_idx + 1);
# 1203|->         darray_appends_nullterminate(*expanded, index_str, count);
# 1204|           return true;
# 1205|       }

Error: GCC_ANALYZER_WARNING (CWE-688): [#def143]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1292:5: warning[-Wanalyzer-null-argument]: use of NULL ‘expanded.item’ where non-null expected
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1490:1: enter_function: entry to ‘matcher_rule_apply_if_matches’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1607:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1609:14: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1610:14: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1613:37: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1658:21: call_function: calling ‘append_expanded_kccgst_value’ from ‘matcher_rule_apply_if_matches’
# 1290|       if (pfx != 0)
# 1291|           darray_appends_nullterminate(*expanded, &pfx, 1);
# 1292|->     darray_appends_nullterminate(*expanded,
# 1293|                                    expanded_value->sval.start,
# 1294|                                    (darray_size_t) expanded_value->sval.len);

Error: GCC_ANALYZER_WARNING (CWE-688): [#def144]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1375:13: warning[-Wanalyzer-null-argument]: use of NULL where non-null expected
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1442:1: enter_function: entry to ‘matcher_append_pending_kccgst’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1450:32: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1451:42: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1464:20: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1466:21: call_function: calling ‘concat_kccgst’ from ‘matcher_append_pending_kccgst’
# 1373|           const bool into_plus = is_merge_mode_prefix(ch);
# 1374|           if (into_plus)
# 1375|->             darray_prepends_nullterminate(*into, from, size);
# 1376|       }
# 1377|   }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def145]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1422:17: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1490:1: enter_function: entry to ‘matcher_rule_apply_if_matches’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1607:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1609:14: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1610:14: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1613:37: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/rules.c:1658:21: call_function: calling ‘append_expanded_kccgst_value’ from ‘matcher_rule_apply_if_matches’
# 1420|               /* Just a normal character. */
# 1421|               default:
# 1422|->                 darray_appends_nullterminate(expanded, &str[i++], 1);
# 1423|           }
# 1424|       }

Error: GCC_ANALYZER_WARNING (CWE-688): [#def146]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:120:5: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘*to.levels.item’ where non-null expected
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1946:1: enter_function: entry to ‘CompileSymbols’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1952:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1953:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1953:9: call_function: calling ‘HandleSymbolsFile’ from ‘CompileSymbols’
#  118|       to->type = from->type;
#  119|       darray_init(to->levels);
#  120|->     darray_copy(to->levels, from->levels);
#  121|       for (xkb_level_index_t j = 0; j < darray_size(to->levels); j++) {
#  122|           if (darray_item(from->levels, j).num_syms > 1) {

Error: GCC_ANALYZER_WARNING (CWE-688): [#def147]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:781:9: warning[-Wanalyzer-null-argument]: use of NULL where non-null expected
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1946:1: enter_function: entry to ‘CompileSymbols’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1952:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1953:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1953:9: call_function: calling ‘HandleSymbolsFile’ from ‘CompileSymbols’
#  779|           }
#  780|   
#  781|->         darray_resize0(keyi->groups, darray_size(keyi->groups) + 1);
#  782|           *ndx_rtrn = darray_size(keyi->groups) - 1;
#  783|           return true;

Error: GCC_ANALYZER_WARNING (CWE-688): [#def148]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:796:9: warning[-Wanalyzer-null-argument]: use of NULL where non-null expected
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1946:1: enter_function: entry to ‘CompileSymbols’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1952:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1953:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1953:9: call_function: calling ‘HandleSymbolsFile’ from ‘CompileSymbols’
#  794|       (*ndx_rtrn)--;
#  795|       if (*ndx_rtrn >= darray_size(keyi->groups))
#  796|->         darray_resize0(keyi->groups, *ndx_rtrn + 1);
#  797|   
#  798|       return true;

Error: GCC_ANALYZER_WARNING (CWE-688): [#def149]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1065:17: warning[-Wanalyzer-null-argument]: use of NULL where non-null expected
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1946:1: enter_function: entry to ‘CompileSymbols’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1952:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1953:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1953:9: call_function: calling ‘HandleSymbolsFile’ from ‘CompileSymbols’
# 1063|                   /* Avoid clang-tidy false positive */
# 1064|                   assert(darray_size(keyi->groups) < ndx + 1);
# 1065|->                 darray_resize0(keyi->groups, ndx + 1);
# 1066|               }
# 1067|               darray_item(keyi->groups, ndx).type = val;

Error: GCC_ANALYZER_WARNING (CWE-688): [#def150]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1416:5: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘keyi.groups.item’ where non-null expected
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1946:1: enter_function: entry to ‘CompileSymbols’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1952:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1953:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1953:9: call_function: calling ‘HandleSymbolsFile’ from ‘CompileSymbols’
# 1414|       keyi = info->default_key;
# 1415|       darray_init(keyi.groups);
# 1416|->     darray_copy(keyi.groups, info->default_key.groups);
# 1417|       for (xkb_layout_index_t i = 0; i < darray_size(keyi.groups); i++)
# 1418|           CopyGroupInfo(&darray_item(keyi.groups, i),

Error: GCC_ANALYZER_WARNING (CWE-401): [#def151]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1515:13: warning[-Wanalyzer-malloc-leak]: leak of ‘info.name’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1946:1: enter_function: entry to ‘CompileSymbols’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1952:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1953:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1953:9: call_function: calling ‘HandleSymbolsFile’ from ‘CompileSymbols’
# 1513|               break;
# 1514|           default:
# 1515|->             log_err(info->ctx, XKB_ERROR_WRONG_STATEMENT_TYPE,
# 1516|                       "Symbols files may not include other types; "
# 1517|                       "Ignoring %s\n", stmt_type_to_string(stmt->type));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def152]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1515:13: warning[-Wanalyzer-malloc-leak]: leak of ‘next_incl.name’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1946:1: enter_function: entry to ‘CompileSymbols’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1952:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1953:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/symbols.c:1953:9: call_function: calling ‘HandleSymbolsFile’ from ‘CompileSymbols’
# 1513|               break;
# 1514|           default:
# 1515|->             log_err(info->ctx, XKB_ERROR_WRONG_STATEMENT_TYPE,
# 1516|                       "Symbols files may not include other types; "
# 1517|                       "Ignoring %s\n", stmt_type_to_string(stmt->type));

Error: GCC_ANALYZER_WARNING (CWE-476): [#def153]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:332:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:840:1: enter_function: entry to ‘CompileKeyTypes’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:846:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:847:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:847:9: call_function: calling ‘HandleKeyTypesFile’ from ‘CompileKeyTypes’
#  330|           type->num_levels = new->level + 1;
#  331|   
#  332|->     darray_append(type->entries, *new);
#  333|       return true;
#  334|   }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def154]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:427:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:840:1: enter_function: entry to ‘CompileKeyTypes’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:846:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:847:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:847:9: call_function: calling ‘HandleKeyTypesFile’ from ‘CompileKeyTypes’
#  425|       new.mods.mods = mods;
#  426|       new.preserve.mods = preserve_mods;
#  427|->     darray_append(type->entries, new);
#  428|       return true;
#  429|   }

Error: GCC_ANALYZER_WARNING (CWE-457): [#def155]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:427:5: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘new.mods.mask’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:840:1: enter_function: entry to ‘CompileKeyTypes’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:846:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:847:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:847:9: call_function: calling ‘HandleKeyTypesFile’ from ‘CompileKeyTypes’
#  425|       new.mods.mods = mods;
#  426|       new.preserve.mods = preserve_mods;
#  427|->     darray_append(type->entries, new);
#  428|       return true;
#  429|   }

Error: GCC_ANALYZER_WARNING (CWE-688): [#def156]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:495:9: warning[-Wanalyzer-null-argument]: use of NULL ‘type.level_names.item’ where non-null expected
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:840:1: enter_function: entry to ‘CompileKeyTypes’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:846:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:847:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:847:9: call_function: calling ‘HandleKeyTypesFile’ from ‘CompileKeyTypes’
#  493|       /* New name. */
#  494|       if (level >= darray_size(type->level_names)) {
#  495|->         darray_resize0(type->level_names, level + 1);
#  496|           goto finish;
#  497|       }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def157]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:703:13: warning[-Wanalyzer-malloc-leak]: leak of ‘info.name’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:840:1: enter_function: entry to ‘CompileKeyTypes’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:846:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:847:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:847:9: call_function: calling ‘HandleKeyTypesFile’ from ‘CompileKeyTypes’
#  701|               break;
#  702|           default:
#  703|->             log_err(info->ctx, XKB_ERROR_WRONG_STATEMENT_TYPE,
#  704|                       "Key type files may not include other declarations; "
#  705|                       "Ignoring %s\n", stmt_type_to_string(stmt->type));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def158]
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:703:13: warning[-Wanalyzer-malloc-leak]: leak of ‘next_incl.name’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:840:1: enter_function: entry to ‘CompileKeyTypes’
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:846:8: branch_true: following ‘true’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:847:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/src/xkbcomp/types.c:847:9: call_function: calling ‘HandleKeyTypesFile’ from ‘CompileKeyTypes’
#  701|               break;
#  702|           default:
#  703|->             log_err(info->ctx, XKB_ERROR_WRONG_STATEMENT_TYPE,
#  704|                       "Key type files may not include other declarations; "
#  705|                       "Ignoring %s\n", stmt_type_to_string(stmt->type));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def159]
libxkbcommon-xkbcommon-1.13.1/test/atom.c:69:16: warning[-Wanalyzer-malloc-leak]: leak of ‘*<unknown>.string’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:45:1: enter_function: entry to ‘test_random_strings’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:60:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:62:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:64:5: branch_false: following ‘false’ branch (when ‘arr’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:64:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:66:21: branch_true: following ‘true’ branch (when ‘i < N’)...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:67:43: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:67:9: call_function: calling ‘random_string’ from ‘test_random_strings’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:67:9: return_function: returning to ‘test_random_strings’ from ‘random_string’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:69:16: throw: if ‘atom_intern’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:69:16: danger: ‘*<unknown>.string’ leaks here; was allocated at [(10)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/9)
#   67|           random_string(&arr[i].string, &arr[i].len);
#   68|   
#   69|->         atom = atom_intern(table, arr[i].string, arr[i].len, false);
#   70|           if (atom != XKB_ATOM_NONE) {
#   71|               string = atom_text(table, atom);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def160]
libxkbcommon-xkbcommon-1.13.1/test/atom.c:69:16: warning[-Wanalyzer-malloc-leak]: leak of ‘arr’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:45:1: enter_function: entry to ‘test_random_strings’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:60:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:62:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:63:11: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:64:5: branch_false: following ‘false’ branch (when ‘arr’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:64:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:66:21: branch_true: following ‘true’ branch (when ‘i < N’)...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:67:43: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:67:9: call_function: calling ‘random_string’ from ‘test_random_strings’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:67:9: return_function: returning to ‘test_random_strings’ from ‘random_string’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:69:16: throw: if ‘atom_intern’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:69:16: danger: ‘arr’ leaks here; was allocated at [(4)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/3)
#   67|           random_string(&arr[i].string, &arr[i].len);
#   68|   
#   69|->         atom = atom_intern(table, arr[i].string, arr[i].len, false);
#   70|           if (atom != XKB_ATOM_NONE) {
#   71|               string = atom_text(table, atom);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def161]
libxkbcommon-xkbcommon-1.13.1/test/atom.c:71:22: warning[-Wanalyzer-malloc-leak]: leak of ‘*<unknown>.string’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:45:1: enter_function: entry to ‘test_random_strings’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:60:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:62:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:64:5: branch_false: following ‘false’ branch (when ‘arr’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:64:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:66:21: branch_true: following ‘true’ branch (when ‘i < N’)...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:67:43: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:67:9: call_function: calling ‘random_string’ from ‘test_random_strings’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:67:9: return_function: returning to ‘test_random_strings’ from ‘random_string’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:70:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:71:22: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:71:22: throw: if ‘atom_text’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:71:22: danger: ‘*<unknown>.string’ leaks here; was allocated at [(10)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/9)
#   69|           atom = atom_intern(table, arr[i].string, arr[i].len, false);
#   70|           if (atom != XKB_ATOM_NONE) {
#   71|->             string = atom_text(table, atom);
#   72|               assert(string);
#   73|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def162]
libxkbcommon-xkbcommon-1.13.1/test/atom.c:71:22: warning[-Wanalyzer-malloc-leak]: leak of ‘arr’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:45:1: enter_function: entry to ‘test_random_strings’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:60:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:62:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:63:11: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:64:5: branch_false: following ‘false’ branch (when ‘arr’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:64:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:66:21: branch_true: following ‘true’ branch (when ‘i < N’)...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:67:43: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:67:9: call_function: calling ‘random_string’ from ‘test_random_strings’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:67:9: return_function: returning to ‘test_random_strings’ from ‘random_string’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:70:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:71:22: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:71:22: throw: if ‘atom_text’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:71:22: danger: ‘arr’ leaks here; was allocated at [(4)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/3)
#   69|           atom = atom_intern(table, arr[i].string, arr[i].len, false);
#   70|           if (atom != XKB_ATOM_NONE) {
#   71|->             string = atom_text(table, atom);
#   72|               assert(string);
#   73|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def163]
libxkbcommon-xkbcommon-1.13.1/test/atom.c:90:23: warning[-Wanalyzer-malloc-leak]: leak of ‘*<unknown>.string’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:45:1: enter_function: entry to ‘test_random_strings’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:60:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:62:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:64:5: branch_false: following ‘false’ branch (when ‘arr’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:64:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:66:21: branch_true: following ‘true’ branch (when ‘i < N’)...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:67:43: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:67:9: call_function: calling ‘random_string’ from ‘test_random_strings’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:67:9: return_function: returning to ‘test_random_strings’ from ‘random_string’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:90:23: throw: if ‘atom_intern’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:90:23: danger: ‘*<unknown>.string’ leaks here; was allocated at [(10)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/9)
#   88|           }
#   89|   
#   90|->         arr[i].atom = atom_intern(table, arr[i].string, arr[i].len, true);
#   91|           if (arr[i].atom == XKB_ATOM_NONE) {
#   92|               fprintf(stderr, "failed to intern! len: %zu, string: %.*s\n",

Error: GCC_ANALYZER_WARNING (CWE-401): [#def164]
libxkbcommon-xkbcommon-1.13.1/test/atom.c:90:23: warning[-Wanalyzer-malloc-leak]: leak of ‘arr’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:45:1: enter_function: entry to ‘test_random_strings’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:60:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:62:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:63:11: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:64:5: branch_false: following ‘false’ branch (when ‘arr’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:64:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:66:21: branch_true: following ‘true’ branch (when ‘i < N’)...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:67:43: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:67:9: call_function: calling ‘random_string’ from ‘test_random_strings’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:67:9: return_function: returning to ‘test_random_strings’ from ‘random_string’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:90:23: throw: if ‘atom_intern’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:90:23: danger: ‘arr’ leaks here; was allocated at [(4)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/3)
#   88|           }
#   89|   
#   90|->         arr[i].atom = atom_intern(table, arr[i].string, arr[i].len, true);
#   91|           if (arr[i].atom == XKB_ATOM_NONE) {
#   92|               fprintf(stderr, "failed to intern! len: %zu, string: %.*s\n",

Error: GCC_ANALYZER_WARNING (CWE-401): [#def165]
libxkbcommon-xkbcommon-1.13.1/test/atom.c:99:18: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:45:1: enter_function: entry to ‘test_random_strings’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:60:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:62:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:64:5: branch_false: following ‘false’ branch (when ‘arr’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:64:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:66:21: branch_true: following ‘true’ branch (when ‘i < N’)...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:67:43: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:67:9: call_function: calling ‘random_string’ from ‘test_random_strings’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:67:9: return_function: returning to ‘test_random_strings’ from ‘random_string’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:91:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:66:28: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:66:21: branch_false: following ‘false’ branch (when ‘i >= N’)...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:66:21: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:98:21: branch_true: following ‘true’ branch (when ‘i < N’)...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:99:38: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:99:18: throw: if ‘atom_text’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:99:18: danger: ‘<unknown>’ leaks here; was allocated at [(10)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/9)
#   97|   
#   98|       for (int i = 0; i < N; i++) {
#   99|->         string = atom_text(table, arr[i].atom);
#  100|           assert(string);
#  101|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def166]
libxkbcommon-xkbcommon-1.13.1/test/atom.c:99:18: warning[-Wanalyzer-malloc-leak]: leak of ‘arr’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:45:1: enter_function: entry to ‘test_random_strings’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:60:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:62:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:63:11: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:64:5: branch_false: following ‘false’ branch (when ‘arr’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:64:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:66:21: branch_true: following ‘true’ branch (when ‘i < N’)...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:67:43: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:67:9: call_function: calling ‘random_string’ from ‘test_random_strings’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:67:9: return_function: returning to ‘test_random_strings’ from ‘random_string’
libxkbcommon-xkbcommon-1.13.1/test/atom.c:91:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:66:28: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:66:21: branch_false: following ‘false’ branch (when ‘i >= N’)...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:66:21: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:98:21: branch_true: following ‘true’ branch (when ‘i < N’)...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:99:38: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/atom.c:99:18: throw: if ‘atom_text’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/test/atom.c:99:18: danger: ‘arr’ leaks here; was allocated at [(4)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/3)
#   97|   
#   98|       for (int i = 0; i < N; i++) {
#   99|->         string = atom_text(table, arr[i].atom);
#  100|           assert(string);
#  101|   

Error: UNICONTROL_WARNING (CWE-94): [#def167]
libxkbcommon-xkbcommon-1.13.1/test/buffercomp.c:1877: warning: bidirectional control characters: ['\u2067', '\u2069', '\u2067', '\u2069']
# 1875|                   /* NOTE: We use U+200E LEFT-TO-RIGHT MARK in order to display the strings in
# 1876|                    *       in the proper order. */
# 1877|->                 u8"    key <AB05> { [ \"لا\"‎  , \"لآ\"‎   ] }; // ⁧لا⁩ ⁧لآ⁩ Arabic Lam-Alef ligatures decomposed\n"
# 1878|                   u8"    key <AD01> { [ \"c’h\", \"C’h\" ] }; // C’H Breton trigraph\n"
# 1879|                   u8"    modifier_map Mod1 { \"✨\", \"\\u{1F54A}\" };\n"

Error: CPPCHECK_WARNING (CWE-758): [#def168]
libxkbcommon-xkbcommon-1.13.1/test/common.c:156: warning[objectIndex]: The address of variable 'sym' might be accessed at non-zero index.
#  154|           for (int i = 0; i < nsyms; i++) {
#  155|               keysym = va_arg(ap, int);
#  156|->             xkb_keysym_get_name(syms[i], ksbuf, sizeof(ksbuf));
#  157|               fprintf(stderr, "%s%s", (i != 0) ? ", " : "", ksbuf);
#  158|   

Error: CPPCHECK_WARNING (CWE-758): [#def169]
libxkbcommon-xkbcommon-1.13.1/test/common.c:160: warning[objectIndex]: The address of variable 'sym' might be accessed at non-zero index.
#  158|   
#  159|               if (keysym == FINISH || keysym == NEXT) {
#  160|->                 xkb_keysym_get_name(syms[i], ksbuf, sizeof(ksbuf));
#  161|                   fprintf(stderr, "\nERROR: Did not expect keysym: %s.\n", ksbuf);
#  162|                   goto fail;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def170]
libxkbcommon-xkbcommon-1.13.1/test/common.c:279:26: warning[-Wanalyzer-malloc-leak]: leak of ‘test_read_file(rel_path)’
libxkbcommon-xkbcommon-1.13.1/test/common.c:674:1: enter_function: entry to ‘test_compile_output2’
libxkbcommon-xkbcommon-1.13.1/test/common.c:690:8: branch_false: following ‘false’ branch (when ‘rel_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/test/common.c:704:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:704:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:709:17: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:711:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:716:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:718:24: call_function: calling ‘test_get_path’ from ‘test_compile_output2’
libxkbcommon-xkbcommon-1.13.1/test/common.c:718:24: return_function: returning to ‘test_compile_output2’ from ‘test_get_path’
libxkbcommon-xkbcommon-1.13.1/test/common.c:719:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:721:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:721:8: branch_false: following ‘false’ branch (when ‘update_output_files == 0’)...
libxkbcommon-xkbcommon-1.13.1/test/common.c:728:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:729:32: call_function: calling ‘test_read_file’ from ‘test_compile_output2’
libxkbcommon-xkbcommon-1.13.1/test/common.c:729:32: return_function: returning to ‘test_compile_output2’ from ‘test_read_file’
libxkbcommon-xkbcommon-1.13.1/test/common.c:730:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:733:14: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:735:34: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:736:17: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:736:17: call_function: calling ‘streq’ from ‘test_compile_output2’
libxkbcommon-xkbcommon-1.13.1/test/common.c:736:17: return_function: returning to ‘test_compile_output2’ from ‘streq’
libxkbcommon-xkbcommon-1.13.1/test/common.c:736:16: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:737:17: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:738:20: branch_true: following ‘true’ branch (when ‘test_round_trip != 0’)...
libxkbcommon-xkbcommon-1.13.1/test/common.c:741:26: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:741:26: throw: if the called function throws an exception...
libxkbcommon-xkbcommon-1.13.1/test/common.c:279:26: danger: ‘test_read_file(rel_path)’ leaks here; was allocated at [(56)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/55)
#  277|   
#  278|       path = asprintf_safe("%s/test/data%s%s", srcdir,
#  279|->                          path_rel[0] ? "/" : "", path_rel);
#  280|       if (!path) {
#  281|           fprintf(stderr, "Failed to allocate path for %s\n", path_rel);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def171]
libxkbcommon-xkbcommon-1.13.1/test/common.c:303:24: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(test_get_path(path_rel), "rb")’
libxkbcommon-xkbcommon-1.13.1/test/common.c:674:1: enter_function: entry to ‘test_compile_output2’
libxkbcommon-xkbcommon-1.13.1/test/common.c:690:8: branch_false: following ‘false’ branch (when ‘rel_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/test/common.c:704:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:704:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:709:17: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:711:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:716:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:718:24: call_function: calling ‘test_get_path’ from ‘test_compile_output2’
libxkbcommon-xkbcommon-1.13.1/test/common.c:718:24: return_function: returning to ‘test_compile_output2’ from ‘test_get_path’
libxkbcommon-xkbcommon-1.13.1/test/common.c:719:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:721:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:721:8: branch_false: following ‘false’ branch (when ‘update_output_files == 0’)...
libxkbcommon-xkbcommon-1.13.1/test/common.c:728:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:729:32: call_function: calling ‘test_read_file’ from ‘test_compile_output2’
#  301|       }
#  302|   
#  303|->     char* ret = malloc(info.st_size + 1);
#  304|       if (!ret) {
#  305|           fclose(file);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def172]
libxkbcommon-xkbcommon-1.13.1/test/common.c:303:24: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(test_get_path(path_rel), "rb")’
libxkbcommon-xkbcommon-1.13.1/test/common.c:674:1: enter_function: entry to ‘test_compile_output2’
libxkbcommon-xkbcommon-1.13.1/test/common.c:690:8: branch_false: following ‘false’ branch (when ‘rel_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/test/common.c:704:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:704:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:709:17: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:711:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:716:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:718:24: call_function: calling ‘test_get_path’ from ‘test_compile_output2’
libxkbcommon-xkbcommon-1.13.1/test/common.c:718:24: return_function: returning to ‘test_compile_output2’ from ‘test_get_path’
libxkbcommon-xkbcommon-1.13.1/test/common.c:719:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:721:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:721:8: branch_false: following ‘false’ branch (when ‘update_output_files == 0’)...
libxkbcommon-xkbcommon-1.13.1/test/common.c:728:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:729:32: call_function: calling ‘test_read_file’ from ‘test_compile_output2’
#  301|       }
#  302|   
#  303|->     char* ret = malloc(info.st_size + 1);
#  304|       if (!ret) {
#  305|           fclose(file);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def173]
libxkbcommon-xkbcommon-1.13.1/test/common.c:303:24: warning[-Wanalyzer-malloc-leak]: leak of ‘test_get_path(path_rel)’
libxkbcommon-xkbcommon-1.13.1/test/common.c:674:1: enter_function: entry to ‘test_compile_output2’
libxkbcommon-xkbcommon-1.13.1/test/common.c:690:8: branch_false: following ‘false’ branch (when ‘rel_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/test/common.c:704:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:704:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:709:17: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:711:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:716:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:718:24: call_function: calling ‘test_get_path’ from ‘test_compile_output2’
libxkbcommon-xkbcommon-1.13.1/test/common.c:718:24: return_function: returning to ‘test_compile_output2’ from ‘test_get_path’
libxkbcommon-xkbcommon-1.13.1/test/common.c:719:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:721:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:721:8: branch_false: following ‘false’ branch (when ‘update_output_files == 0’)...
libxkbcommon-xkbcommon-1.13.1/test/common.c:728:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:729:32: call_function: calling ‘test_read_file’ from ‘test_compile_output2’
#  301|       }
#  302|   
#  303|->     char* ret = malloc(info.st_size + 1);
#  304|       if (!ret) {
#  305|           fclose(file);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def174]
libxkbcommon-xkbcommon-1.13.1/test/common.c:303:24: warning[-Wanalyzer-malloc-leak]: leak of ‘test_read_file(rel_path)’
libxkbcommon-xkbcommon-1.13.1/test/common.c:674:1: enter_function: entry to ‘test_compile_output2’
libxkbcommon-xkbcommon-1.13.1/test/common.c:690:8: branch_false: following ‘false’ branch (when ‘rel_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/test/common.c:704:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:704:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:709:17: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:711:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:716:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:718:24: call_function: calling ‘test_get_path’ from ‘test_compile_output2’
libxkbcommon-xkbcommon-1.13.1/test/common.c:718:24: return_function: returning to ‘test_compile_output2’ from ‘test_get_path’
libxkbcommon-xkbcommon-1.13.1/test/common.c:719:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:721:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:721:8: branch_false: following ‘false’ branch (when ‘update_output_files == 0’)...
libxkbcommon-xkbcommon-1.13.1/test/common.c:728:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:729:32: call_function: calling ‘test_read_file’ from ‘test_compile_output2’
libxkbcommon-xkbcommon-1.13.1/test/common.c:729:32: return_function: returning to ‘test_compile_output2’ from ‘test_read_file’
libxkbcommon-xkbcommon-1.13.1/test/common.c:730:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:733:14: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:735:34: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:736:17: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:736:17: call_function: calling ‘streq’ from ‘test_compile_output2’
libxkbcommon-xkbcommon-1.13.1/test/common.c:736:17: return_function: returning to ‘test_compile_output2’ from ‘streq’
libxkbcommon-xkbcommon-1.13.1/test/common.c:736:16: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:737:17: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:738:20: branch_true: following ‘true’ branch (when ‘test_round_trip != 0’)...
libxkbcommon-xkbcommon-1.13.1/test/common.c:741:26: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:741:26: throw: if the called function throws an exception...
libxkbcommon-xkbcommon-1.13.1/test/common.c:303:24: danger: ‘test_read_file(rel_path)’ leaks here; was allocated at [(46)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/45)
#  301|       }
#  302|   
#  303|->     char* ret = malloc(info.st_size + 1);
#  304|       if (!ret) {
#  305|           fclose(file);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def175]
libxkbcommon-xkbcommon-1.13.1/test/common.c:315:13: warning[-Wanalyzer-malloc-leak]: leak of ‘ret’
libxkbcommon-xkbcommon-1.13.1/test/common.c:674:1: enter_function: entry to ‘test_compile_output2’
libxkbcommon-xkbcommon-1.13.1/test/common.c:690:8: branch_false: following ‘false’ branch (when ‘rel_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/test/common.c:704:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:704:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:709:17: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:711:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:716:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:718:24: call_function: calling ‘test_get_path’ from ‘test_compile_output2’
libxkbcommon-xkbcommon-1.13.1/test/common.c:718:24: return_function: returning to ‘test_compile_output2’ from ‘test_get_path’
libxkbcommon-xkbcommon-1.13.1/test/common.c:719:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:721:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:721:8: branch_false: following ‘false’ branch (when ‘update_output_files == 0’)...
libxkbcommon-xkbcommon-1.13.1/test/common.c:728:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:729:32: call_function: calling ‘test_read_file’ from ‘test_compile_output2’
#  313|               printf("Error reading file %s: unexpected end of file\n", path);
#  314|           else if (ferror(file))
#  315|->             perror("Error reading file");
#  316|           fclose(file);
#  317|           free(ret);

Error: GCC_ANALYZER_WARNING (CWE-910): [#def176]
libxkbcommon-xkbcommon-1.13.1/test/common.c:342:9: warning[-Wanalyzer-double-fclose]: double ‘fclose’ of FILE ‘fopen(test_get_path(path_rel), "rb")’
libxkbcommon-xkbcommon-1.13.1/test/common.c:674:1: enter_function: entry to ‘test_compile_output2’
libxkbcommon-xkbcommon-1.13.1/test/common.c:690:8: branch_false: following ‘false’ branch (when ‘rel_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/test/common.c:704:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:704:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:709:17: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:711:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:716:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:718:24: call_function: calling ‘test_get_path’ from ‘test_compile_output2’
libxkbcommon-xkbcommon-1.13.1/test/common.c:718:24: return_function: returning to ‘test_compile_output2’ from ‘test_get_path’
libxkbcommon-xkbcommon-1.13.1/test/common.c:719:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:721:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:721:8: branch_false: following ‘false’ branch (when ‘update_output_files == 0’)...
libxkbcommon-xkbcommon-1.13.1/test/common.c:728:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:729:32: call_function: calling ‘test_read_file’ from ‘test_compile_output2’
#  340|   out:
#  341|       if (file)
#  342|->         fclose(file);
#  343|       free(path);
#  344|       return ret;

Error: GCC_ANALYZER_WARNING (CWE-415): [#def177]
libxkbcommon-xkbcommon-1.13.1/test/common.c:342:9: warning[-Wanalyzer-double-free]: double-‘fclose’ of ‘fopen(test_get_path(path_rel), "rb")’
libxkbcommon-xkbcommon-1.13.1/test/common.c:674:1: enter_function: entry to ‘test_compile_output2’
libxkbcommon-xkbcommon-1.13.1/test/common.c:690:8: branch_false: following ‘false’ branch (when ‘rel_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/test/common.c:704:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:704:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:709:17: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:711:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:716:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:718:24: call_function: calling ‘test_get_path’ from ‘test_compile_output2’
libxkbcommon-xkbcommon-1.13.1/test/common.c:718:24: return_function: returning to ‘test_compile_output2’ from ‘test_get_path’
libxkbcommon-xkbcommon-1.13.1/test/common.c:719:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:721:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:721:8: branch_false: following ‘false’ branch (when ‘update_output_files == 0’)...
libxkbcommon-xkbcommon-1.13.1/test/common.c:728:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:729:32: call_function: calling ‘test_read_file’ from ‘test_compile_output2’
#  340|   out:
#  341|       if (file)
#  342|->         fclose(file);
#  343|       free(path);
#  344|       return ret;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def178]
libxkbcommon-xkbcommon-1.13.1/test/common.c:728:9: warning[-Wanalyzer-malloc-leak]: leak of ‘test_get_path(rel_path)’
libxkbcommon-xkbcommon-1.13.1/test/common.c:674:1: enter_function: entry to ‘test_compile_output2’
libxkbcommon-xkbcommon-1.13.1/test/common.c:690:8: branch_false: following ‘false’ branch (when ‘rel_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/test/common.c:704:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:704:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:709:17: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:711:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:716:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:718:24: call_function: calling ‘test_get_path’ from ‘test_compile_output2’
libxkbcommon-xkbcommon-1.13.1/test/common.c:718:24: return_function: returning to ‘test_compile_output2’ from ‘test_get_path’
libxkbcommon-xkbcommon-1.13.1/test/common.c:719:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:721:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:721:8: branch_false: following ‘false’ branch (when ‘update_output_files == 0’)...
libxkbcommon-xkbcommon-1.13.1/test/common.c:728:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:729:32: call_function: calling ‘test_read_file’ from ‘test_compile_output2’
#  726|           fclose(file);
#  727|       } else {
#  728|->         fprintf(stderr, "Reading golden test output: %s\n", path);
#  729|           char* const expected = test_read_file(rel_path);
#  730|           assert(expected);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def179]
libxkbcommon-xkbcommon-1.13.1/test/common.c:822:9: warning[-Wanalyzer-malloc-leak]: leak of ‘test_get_path(rel_path)’
libxkbcommon-xkbcommon-1.13.1/test/common.c:780:1: enter_function: entry to ‘test_third_pary_compile_output’
libxkbcommon-xkbcommon-1.13.1/test/common.c:794:8: branch_false: following ‘false’ branch (when ‘rel_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/test/common.c:805:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:805:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:805:32: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:812:18: call_function: calling ‘test_get_path’ from ‘test_third_pary_compile_output’
libxkbcommon-xkbcommon-1.13.1/test/common.c:812:18: return_function: returning to ‘test_third_pary_compile_output’ from ‘test_get_path’
libxkbcommon-xkbcommon-1.13.1/test/common.c:813:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/common.c:815:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:815:8: branch_false: following ‘false’ branch (when ‘update_output_files == 0’)...
libxkbcommon-xkbcommon-1.13.1/test/common.c:822:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/common.c:823:26: call_function: calling ‘test_read_file’ from ‘test_third_pary_compile_output’
#  820|           fclose(file);
#  821|       } else {
#  822|->         fprintf(stderr, "Reading golden test output: %s\n", path);
#  823|           char *expected = test_read_file(rel_path);
#  824|           assert(expected);

Error: GCC_ANALYZER_WARNING (CWE-404): [#def180]
libxkbcommon-xkbcommon-1.13.1/test/compose.c:71:13: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:699:1: enter_function: entry to ‘test_override’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:705:5: call_function: calling ‘test_compose_seq_buffer’ from ‘test_override’
#   69|       char buffer[MAX(XKB_COMPOSE_MAX_STRING_SIZE, XKB_KEYSYM_NAME_MAX_SIZE)];
#   70|   
#   71|->     state = xkb_compose_state_new(table, XKB_COMPOSE_STATE_NO_FLAGS);
#   72|       assert(state);
#   73|   

Error: GCC_ANALYZER_WARNING (CWE-404): [#def181]
libxkbcommon-xkbcommon-1.13.1/test/compose.c:90:18: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:699:1: enter_function: entry to ‘test_override’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:705:5: call_function: calling ‘test_compose_seq_buffer’ from ‘test_override’
#   88|           expected_keysym = va_arg(ap, xkb_keysym_t);
#   89|   
#   90|->         result = xkb_compose_state_feed(state, input_keysym);
#   91|   
#   92|           if (result != expected_result) {

Error: GCC_ANALYZER_WARNING (CWE-404): [#def182]
libxkbcommon-xkbcommon-1.13.1/test/compose.c:101:18: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:699:1: enter_function: entry to ‘test_override’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:705:5: call_function: calling ‘test_compose_seq_buffer’ from ‘test_override’
#   99|           }
#  100|   
#  101|->         status = xkb_compose_state_get_status(state);
#  102|           if (status != expected_status) {
#  103|               fprintf(stderr, "after feeding %d keysyms:\n", i);

Error: GCC_ANALYZER_WARNING (CWE-404): [#def183]
libxkbcommon-xkbcommon-1.13.1/test/compose.c:111:15: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:699:1: enter_function: entry to ‘test_override’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:705:5: call_function: calling ‘test_compose_seq_buffer’ from ‘test_override’
#  109|           }
#  110|   
#  111|->         ret = xkb_compose_state_get_utf8(state, buffer, sizeof(buffer));
#  112|           if (ret < 0 || (size_t) ret >= sizeof(buffer)) {
#  113|               fprintf(stderr, "after feeding %d keysyms:\n", i);

Error: GCC_ANALYZER_WARNING (CWE-404): [#def184]
libxkbcommon-xkbcommon-1.13.1/test/compose.c:125:18: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:699:1: enter_function: entry to ‘test_override’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:705:5: call_function: calling ‘test_compose_seq_buffer’ from ‘test_override’
#  123|           }
#  124|   
#  125|->         keysym = xkb_compose_state_get_one_sym(state);
#  126|           if (keysym != expected_keysym) {
#  127|               fprintf(stderr, "after feeding %d keysyms:\n", i);

Error: GCC_ANALYZER_WARNING (CWE-404): [#def185]
libxkbcommon-xkbcommon-1.13.1/test/compose.c:128:13: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:182:1: enter_function: entry to ‘test_invalid_encodings’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:188:5: call_function: calling ‘test_compose_seq_buffer’ from ‘test_invalid_encodings’
#  126|           if (keysym != expected_keysym) {
#  127|               fprintf(stderr, "after feeding %d keysyms:\n", i);
#  128|->             xkb_keysym_get_name(expected_keysym, buffer, sizeof(buffer));
#  129|               fprintf(stderr, "expected keysym: %s\n", buffer);
#  130|               xkb_keysym_get_name(keysym, buffer, sizeof(buffer));

Error: GCC_ANALYZER_WARNING (CWE-404): [#def186]
libxkbcommon-xkbcommon-1.13.1/test/compose.c:130:13: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:182:1: enter_function: entry to ‘test_invalid_encodings’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:188:5: call_function: calling ‘test_compose_seq_buffer’ from ‘test_invalid_encodings’
#  128|               xkb_keysym_get_name(expected_keysym, buffer, sizeof(buffer));
#  129|               fprintf(stderr, "expected keysym: %s\n", buffer);
#  130|->             xkb_keysym_get_name(keysym, buffer, sizeof(buffer));
#  131|               fprintf(stderr, "got keysym (%#06"PRIx32"): %s\n", keysym, buffer);
#  132|               goto fail;

Error: GCC_ANALYZER_WARNING (CWE-404): [#def187]
libxkbcommon-xkbcommon-1.13.1/test/compose.c:136:5: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:610:1: enter_function: entry to ‘test_modifier_syntax’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:617:5: call_function: calling ‘test_compose_seq_buffer’ from ‘test_modifier_syntax’
#  134|       }
#  135|   
#  136|->     xkb_compose_state_unref(state);
#  137|       return true;
#  138|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def188]
libxkbcommon-xkbcommon-1.13.1/test/compose.c:268:13: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:264:12: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/test/compose.c:265:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/compose.c:266:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/compose.c:268:13: throw: if ‘xkb_compose_table_new_from_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/test/compose.c:268:13: danger: ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’ leaks here; was opened at [(1)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/0)
#  266|       free(path);
#  267|   
#  268|->     table = xkb_compose_table_new_from_file(ctx, file, "",
#  269|                                               XKB_COMPOSE_FORMAT_TEXT_V1,
#  270|                                               XKB_COMPOSE_COMPILE_NO_FLAGS);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def189]
libxkbcommon-xkbcommon-1.13.1/test/compose.c:268:13: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:264:12: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/test/compose.c:265:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/compose.c:266:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/compose.c:268:13: throw: if ‘xkb_compose_table_new_from_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/test/compose.c:268:13: danger: ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’ leaks here; was allocated at [(1)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/0)
#  266|       free(path);
#  267|   
#  268|->     table = xkb_compose_table_new_from_file(ctx, file, "",
#  269|                                               XKB_COMPOSE_FORMAT_TEXT_V1,
#  270|                                               XKB_COMPOSE_COMPILE_NO_FLAGS);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def190]
libxkbcommon-xkbcommon-1.13.1/test/compose.c:466:13: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:462:12: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/test/compose.c:463:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/compose.c:464:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/compose.c:466:13: throw: if ‘xkb_compose_table_new_from_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/test/compose.c:466:13: danger: ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’ leaks here; was opened at [(1)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/0)
#  464|       free(path);
#  465|   
#  466|->     table = xkb_compose_table_new_from_file(ctx, file, "",
#  467|                                               XKB_COMPOSE_FORMAT_TEXT_V1,
#  468|                                               XKB_COMPOSE_COMPILE_NO_FLAGS);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def191]
libxkbcommon-xkbcommon-1.13.1/test/compose.c:466:13: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:462:12: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/test/compose.c:463:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/compose.c:464:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/compose.c:466:13: throw: if ‘xkb_compose_table_new_from_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/test/compose.c:466:13: danger: ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’ leaks here; was allocated at [(1)](sarif:/runs/0/results/15/codeFlows/0/threadFlows/0/locations/0)
#  464|       free(path);
#  465|   
#  466|->     table = xkb_compose_table_new_from_file(ctx, file, "",
#  467|                                               XKB_COMPOSE_FORMAT_TEXT_V1,
#  468|                                               XKB_COMPOSE_COMPILE_NO_FLAGS);

Error: GCC_ANALYZER_WARNING (CWE-404): [#def192]
libxkbcommon-xkbcommon-1.13.1/test/compose.c:723:5: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:743:1: enter_function: entry to ‘test_eq_entry’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:747:5: acquire_resource: ‘va_start’ called here
libxkbcommon-xkbcommon-1.13.1/test/compose.c:748:10: call_function: calling ‘test_eq_entry_va’ from ‘test_eq_entry’
#  721|       assert (entry != NULL);
#  722|   
#  723|->     assert (xkb_compose_table_entry_keysym(entry) == keysym_ref);
#  724|   
#  725|       const char *utf8 = xkb_compose_table_entry_utf8(entry);

Error: GCC_ANALYZER_WARNING (CWE-404): [#def193]
libxkbcommon-xkbcommon-1.13.1/test/compose.c:725:24: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:743:1: enter_function: entry to ‘test_eq_entry’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:747:5: acquire_resource: ‘va_start’ called here
libxkbcommon-xkbcommon-1.13.1/test/compose.c:748:10: call_function: calling ‘test_eq_entry_va’ from ‘test_eq_entry’
#  723|       assert (xkb_compose_table_entry_keysym(entry) == keysym_ref);
#  724|   
#  725|->     const char *utf8 = xkb_compose_table_entry_utf8(entry);
#  726|       assert (utf8 && utf8_ref && strcmp(utf8, utf8_ref) == 0);
#  727|   

Error: GCC_ANALYZER_WARNING (CWE-404): [#def194]
libxkbcommon-xkbcommon-1.13.1/test/compose.c:729:36: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:743:1: enter_function: entry to ‘test_eq_entry’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:747:5: acquire_resource: ‘va_start’ called here
libxkbcommon-xkbcommon-1.13.1/test/compose.c:748:10: call_function: calling ‘test_eq_entry_va’ from ‘test_eq_entry’
#  727|   
#  728|       size_t nsyms;
#  729|->     const xkb_keysym_t *sequence = xkb_compose_table_entry_sequence(entry, &nsyms);
#  730|   
#  731|       xkb_keysym_t keysym;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def195]
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1066:10: warning[-Wanalyzer-malloc-leak]: leak of ‘output_file’
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1050:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1051:27: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1058:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1062:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1063:25: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1064:5: branch_false: following ‘false’ branch (when ‘output_file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1066:10: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1066:10: throw: if ‘xkb_compose_table_dump’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1066:10: danger: ‘output_file’ leaks here; was allocated at [(5)](sarif:/runs/0/results/19/codeFlows/0/threadFlows/0/locations/4)
# 1064|       assert(output_file);
# 1065|   
# 1066|->     ok = xkb_compose_table_dump(output_file, ref_table);
# 1067|       fclose(output_file);
# 1068|       assert(input);

Error: CPPCHECK_WARNING (CWE-416): [#def196]
libxkbcommon-xkbcommon-1.13.1/test/compose.c:1068: error[deallocuse]: Dereferencing 'input' after it is deallocated / released
# 1066|       ok = xkb_compose_table_dump(output_file, ref_table);
# 1067|       fclose(output_file);
# 1068|->     assert(input);
# 1069|   
# 1070|       if (!ok) {

Error: GCC_ANALYZER_WARNING (CWE-476): [#def197]
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:326:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:315:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:317:14: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:319:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:321:10: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:323:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:324:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:324:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:325:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:326:5: danger: dereference of NULL ‘XkbKey(test_compile_rules(test_get_context(0), 1, "evdev", "pc104", "numeric_keysyms", 0, 0), xkb_keymap_key_by_name(<unknown>, "AD01"))’
#  324|       assert(keysyms[0] == 0x1ffffffd);
#  325|       key = XkbKey(keymap, kc);
#  326|->     assert(key->modmap == Mod1Mask);
#  327|   
#  328|       kc = xkb_keymap_key_by_name(keymap, "AD02");

Error: GCC_ANALYZER_WARNING (CWE-476): [#def198]
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:333:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:305:1: enter_function: entry to ‘test_numeric_keysyms’
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:315:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:317:14: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:319:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:321:10: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:323:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:324:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:324:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:325:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:325:11: call_function: calling ‘XkbKey’ from ‘test_numeric_keysyms’
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:325:11: return_function: returning to ‘test_numeric_keysyms’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:326:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:328:10: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:330:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:331:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:331:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:332:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:333:5: danger: dereference of NULL ‘XkbKey(test_compile_rules(test_get_context(0), 1, "evdev", "pc104", "numeric_keysyms", 0, 0), xkb_keymap_key_by_name(<unknown>, "AD02"))’
#  331|       assert(keysyms[0] == 0x1ffffffe);
#  332|       key = XkbKey(keymap, kc);
#  333|->     assert(key->modmap == Mod2Mask);
#  334|   
#  335|       kc = xkb_keymap_key_by_name(keymap, "AD03");

Error: GCC_ANALYZER_WARNING (CWE-476): [#def199]
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:343:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:305:1: enter_function: entry to ‘test_numeric_keysyms’
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:315:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:317:14: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:319:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:321:10: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:323:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:324:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:324:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:325:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:325:11: call_function: calling ‘XkbKey’ from ‘test_numeric_keysyms’
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:325:11: return_function: returning to ‘test_numeric_keysyms’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:326:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:328:10: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:330:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:331:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:331:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:332:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:332:11: call_function: calling ‘XkbKey’ from ‘test_numeric_keysyms’
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:332:11: return_function: returning to ‘test_numeric_keysyms’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:333:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:335:10: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:337:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:338:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:338:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:340:21: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:341:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:342:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/keymap.c:343:5: danger: dereference of NULL ‘XkbKey(test_compile_rules(test_get_context(0), 1, "evdev", "pc104", "numeric_keysyms", 0, 0), xkb_keymap_key_by_name(<unknown>, "AD03"))’
#  341|       assert(keysyms_count == 0);
#  342|       key = XkbKey(keymap, kc);
#  343|->     assert(key->modmap == Mod3Mask);
#  344|   
#  345|       xkb_keymap_unref(keymap);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def200]
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:118:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:113:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:115:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:116:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:117:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:118:5: danger: dereference of NULL ‘XkbKey(test_compile_file(context, 1, "keymaps/modmap-none.xkb"), xkb_keymap_key_by_name(<unknown>, "LVL3"))’
#  116|       assert(keycode != XKB_KEYCODE_INVALID);
#  117|       key = XkbKey(keymap, keycode);
#  118|->     assert(key->modmap == NoModifier);
#  119|   
#  120|       keycode = xkb_keymap_key_by_name(keymap, "LFSH");

Error: GCC_ANALYZER_WARNING (CWE-476): [#def201]
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:123:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:104:1: enter_function: entry to ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:113:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:115:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:116:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:117:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:117:11: call_function: calling ‘XkbKey’ from ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:117:11: return_function: returning to ‘test_modmap_none’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:118:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:120:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:121:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:122:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:123:5: danger: dereference of NULL ‘XkbKey(test_compile_file(context, 1, "keymaps/modmap-none.xkb"), xkb_keymap_key_by_name(<unknown>, "LFSH"))’
#  121|       assert(keycode != XKB_KEYCODE_INVALID);
#  122|       key = XkbKey(keymap, keycode);
#  123|->     assert(key->modmap == NoModifier);
#  124|   
#  125|       keycode = xkb_keymap_key_by_name(keymap, "RTSH");

Error: GCC_ANALYZER_WARNING (CWE-476): [#def202]
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:128:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:104:1: enter_function: entry to ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:113:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:115:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:116:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:117:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:117:11: call_function: calling ‘XkbKey’ from ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:117:11: return_function: returning to ‘test_modmap_none’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:118:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:120:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:121:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:122:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:122:11: call_function: calling ‘XkbKey’ from ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:122:11: return_function: returning to ‘test_modmap_none’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:123:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:125:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:126:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:127:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:128:5: danger: dereference of NULL ‘XkbKey(test_compile_file(context, 1, "keymaps/modmap-none.xkb"), xkb_keymap_key_by_name(<unknown>, "RTSH"))’
#  126|       assert(keycode != XKB_KEYCODE_INVALID);
#  127|       key = XkbKey(keymap, keycode);
#  128|->     assert(key->modmap == NoModifier);
#  129|   
#  130|       keycode = xkb_keymap_key_by_name(keymap, "LWIN");

Error: GCC_ANALYZER_WARNING (CWE-476): [#def203]
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:133:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:104:1: enter_function: entry to ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:113:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:115:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:116:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:117:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:117:11: call_function: calling ‘XkbKey’ from ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:117:11: return_function: returning to ‘test_modmap_none’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:118:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:120:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:121:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:122:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:122:11: call_function: calling ‘XkbKey’ from ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:122:11: return_function: returning to ‘test_modmap_none’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:123:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:125:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:126:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:127:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:127:11: call_function: calling ‘XkbKey’ from ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:127:11: return_function: returning to ‘test_modmap_none’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:128:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:130:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:131:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:132:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:133:5: danger: dereference of NULL ‘XkbKey(test_compile_file(context, 1, "keymaps/modmap-none.xkb"), xkb_keymap_key_by_name(<unknown>, "LWIN"))’
#  131|       assert(keycode != XKB_KEYCODE_INVALID);
#  132|       key = XkbKey(keymap, keycode);
#  133|->     assert(key->modmap == Mod4Mask);
#  134|   
#  135|       keycode = xkb_keymap_key_by_name(keymap, "RWIN");

Error: GCC_ANALYZER_WARNING (CWE-476): [#def204]
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:138:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:104:1: enter_function: entry to ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:113:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:115:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:116:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:117:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:117:11: call_function: calling ‘XkbKey’ from ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:117:11: return_function: returning to ‘test_modmap_none’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:118:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:120:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:121:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:122:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:122:11: call_function: calling ‘XkbKey’ from ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:122:11: return_function: returning to ‘test_modmap_none’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:123:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:125:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:126:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:127:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:127:11: call_function: calling ‘XkbKey’ from ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:127:11: return_function: returning to ‘test_modmap_none’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:128:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:130:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:131:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:132:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:132:11: call_function: calling ‘XkbKey’ from ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:132:11: return_function: returning to ‘test_modmap_none’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:133:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:135:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:136:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:137:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:138:5: danger: dereference of NULL ‘XkbKey(test_compile_file(context, 1, "keymaps/modmap-none.xkb"), xkb_keymap_key_by_name(<unknown>, "RWIN"))’
#  136|       assert(keycode != XKB_KEYCODE_INVALID);
#  137|       key = XkbKey(keymap, keycode);
#  138|->     assert(key->modmap == Mod4Mask);
#  139|   
#  140|       keycode = xkb_keymap_key_by_name(keymap, "LCTL");

Error: GCC_ANALYZER_WARNING (CWE-476): [#def205]
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:143:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:104:1: enter_function: entry to ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:113:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:115:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:116:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:117:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:117:11: call_function: calling ‘XkbKey’ from ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:117:11: return_function: returning to ‘test_modmap_none’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:118:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:120:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:121:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:122:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:122:11: call_function: calling ‘XkbKey’ from ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:122:11: return_function: returning to ‘test_modmap_none’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:123:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:125:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:126:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:127:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:127:11: call_function: calling ‘XkbKey’ from ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:127:11: return_function: returning to ‘test_modmap_none’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:128:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:130:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:131:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:132:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:132:11: call_function: calling ‘XkbKey’ from ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:132:11: return_function: returning to ‘test_modmap_none’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:133:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:135:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:136:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:137:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:137:11: call_function: calling ‘XkbKey’ from ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:137:11: return_function: returning to ‘test_modmap_none’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:138:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:140:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:141:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:142:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:143:5: danger: dereference of NULL ‘XkbKey(test_compile_file(context, 1, "keymaps/modmap-none.xkb"), xkb_keymap_key_by_name(<unknown>, "LCTL"))’
#  141|       assert(keycode != XKB_KEYCODE_INVALID);
#  142|       key = XkbKey(keymap, keycode);
#  143|->     assert(key->modmap == ControlMask);
#  144|   
#  145|       keycode = xkb_keymap_key_by_name(keymap, "RCTL");

Error: GCC_ANALYZER_WARNING (CWE-476): [#def206]
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:148:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:104:1: enter_function: entry to ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:113:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:115:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:116:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:117:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:117:11: call_function: calling ‘XkbKey’ from ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:117:11: return_function: returning to ‘test_modmap_none’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:118:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:120:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:121:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:122:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:122:11: call_function: calling ‘XkbKey’ from ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:122:11: return_function: returning to ‘test_modmap_none’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:123:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:125:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:126:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:127:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:127:11: call_function: calling ‘XkbKey’ from ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:127:11: return_function: returning to ‘test_modmap_none’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:128:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:130:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:131:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:132:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:132:11: call_function: calling ‘XkbKey’ from ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:132:11: return_function: returning to ‘test_modmap_none’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:133:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:135:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:136:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:137:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:137:11: call_function: calling ‘XkbKey’ from ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:137:11: return_function: returning to ‘test_modmap_none’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:138:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:140:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:141:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:142:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:142:11: call_function: calling ‘XkbKey’ from ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:142:11: return_function: returning to ‘test_modmap_none’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:143:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:145:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:146:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:147:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:148:5: danger: dereference of NULL ‘XkbKey(test_compile_file(context, 1, "keymaps/modmap-none.xkb"), xkb_keymap_key_by_name(<unknown>, "RCTL"))’
#  146|       assert(keycode != XKB_KEYCODE_INVALID);
#  147|       key = XkbKey(keymap, keycode);
#  148|->     assert(key->modmap == ControlMask);
#  149|   
#  150|       keycode = xkb_keymap_key_by_name(keymap, "LALT");

Error: GCC_ANALYZER_WARNING (CWE-476): [#def207]
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:153:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:104:1: enter_function: entry to ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:113:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:115:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:116:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:117:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:117:11: call_function: calling ‘XkbKey’ from ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:117:11: return_function: returning to ‘test_modmap_none’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:118:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:120:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:121:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:122:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:122:11: call_function: calling ‘XkbKey’ from ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:122:11: return_function: returning to ‘test_modmap_none’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:123:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:125:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:126:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:127:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:127:11: call_function: calling ‘XkbKey’ from ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:127:11: return_function: returning to ‘test_modmap_none’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:128:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:130:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:131:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:132:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:132:11: call_function: calling ‘XkbKey’ from ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:132:11: return_function: returning to ‘test_modmap_none’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:133:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:135:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:136:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:137:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:137:11: call_function: calling ‘XkbKey’ from ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:137:11: return_function: returning to ‘test_modmap_none’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:138:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:140:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:141:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:142:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:142:11: call_function: calling ‘XkbKey’ from ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:142:11: return_function: returning to ‘test_modmap_none’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:143:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:145:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:146:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:147:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:147:11: call_function: calling ‘XkbKey’ from ‘test_modmap_none’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:147:11: return_function: returning to ‘test_modmap_none’ from ‘XkbKey’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:148:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:150:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:151:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:152:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:153:5: danger: dereference of NULL ‘XkbKey(test_compile_file(context, 1, "keymaps/modmap-none.xkb"), xkb_keymap_key_by_name(<unknown>, "LALT"))’
#  151|       assert(keycode != XKB_KEYCODE_INVALID);
#  152|       key = XkbKey(keymap, keycode);
#  153|->     assert(key->modmap == Mod1Mask);
#  154|   
#  155|       keycode = xkb_keymap_key_by_name(keymap, "RALT");

Error: GCC_ANALYZER_WARNING (CWE-476): [#def208]
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:158:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:798:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:803:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:805:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:805:5: call_function: calling ‘test_modmap_none’ from ‘main’
#  156|       assert(keycode != XKB_KEYCODE_INVALID);
#  157|       key = XkbKey(keymap, keycode);
#  158|->     assert(key->modmap == (Mod2Mask | Mod5Mask));
#  159|   
#  160|       keycode = xkb_keymap_key_by_name(keymap, "CAPS");

Error: GCC_ANALYZER_WARNING (CWE-476): [#def209]
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:163:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:798:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:803:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:805:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:805:5: call_function: calling ‘test_modmap_none’ from ‘main’
#  161|       assert(keycode != XKB_KEYCODE_INVALID);
#  162|       key = XkbKey(keymap, keycode);
#  163|->     assert(key->modmap == LockMask);
#  164|   
#  165|       keycode = xkb_keymap_key_by_name(keymap, "AD01");

Error: GCC_ANALYZER_WARNING (CWE-476): [#def210]
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:168:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:798:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:803:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:805:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:805:5: call_function: calling ‘test_modmap_none’ from ‘main’
#  166|       assert(keycode != XKB_KEYCODE_INVALID);
#  167|       key = XkbKey(keymap, keycode);
#  168|->     assert(key->modmap == Mod1Mask);
#  169|   
#  170|       keycode = xkb_keymap_key_by_name(keymap, "AD02");

Error: GCC_ANALYZER_WARNING (CWE-476): [#def211]
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:173:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:798:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:803:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:805:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:805:5: call_function: calling ‘test_modmap_none’ from ‘main’
#  171|       assert(keycode != XKB_KEYCODE_INVALID);
#  172|       key = XkbKey(keymap, keycode);
#  173|->     assert(key->modmap == NoModifier);
#  174|   
#  175|       keycode = xkb_keymap_key_by_name(keymap, "AD03");

Error: GCC_ANALYZER_WARNING (CWE-476): [#def212]
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:178:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:798:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:803:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:805:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:805:5: call_function: calling ‘test_modmap_none’ from ‘main’
#  176|       assert(keycode != XKB_KEYCODE_INVALID);
#  177|       key = XkbKey(keymap, keycode);
#  178|->     assert(key->modmap == NoModifier);
#  179|   
#  180|       keycode = xkb_keymap_key_by_name(keymap, "AD04");

Error: GCC_ANALYZER_WARNING (CWE-476): [#def213]
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:183:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:798:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:803:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:805:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:805:5: call_function: calling ‘test_modmap_none’ from ‘main’
#  181|       assert(keycode != XKB_KEYCODE_INVALID);
#  182|       key = XkbKey(keymap, keycode);
#  183|->     assert(key->modmap == Mod1Mask);
#  184|   
#  185|       keycode = xkb_keymap_key_by_name(keymap, "AD05");

Error: GCC_ANALYZER_WARNING (CWE-476): [#def214]
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:188:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:798:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:803:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:805:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:805:5: call_function: calling ‘test_modmap_none’ from ‘main’
#  186|       assert(keycode != XKB_KEYCODE_INVALID);
#  187|       key = XkbKey(keymap, keycode);
#  188|->     assert(key->modmap == Mod2Mask);
#  189|   
#  190|       keycode = xkb_keymap_key_by_name(keymap, "AD06");

Error: GCC_ANALYZER_WARNING (CWE-476): [#def215]
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:193:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:798:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:803:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:805:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:805:5: call_function: calling ‘test_modmap_none’ from ‘main’
#  191|       assert(keycode != XKB_KEYCODE_INVALID);
#  192|       key = XkbKey(keymap, keycode);
#  193|->     assert(key->modmap == Mod3Mask);
#  194|   
#  195|       keycode = xkb_keymap_key_by_name(keymap, "AD07");

Error: GCC_ANALYZER_WARNING (CWE-476): [#def216]
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:198:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:798:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:803:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:805:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:805:5: call_function: calling ‘test_modmap_none’ from ‘main’
#  196|       assert(keycode != XKB_KEYCODE_INVALID);
#  197|       key = XkbKey(keymap, keycode);
#  198|->     assert(key->modmap == Mod1Mask);
#  199|   
#  200|       keycode = xkb_keymap_key_by_name(keymap, "AD08");

Error: GCC_ANALYZER_WARNING (CWE-476): [#def217]
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:203:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:798:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:803:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:805:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:805:5: call_function: calling ‘test_modmap_none’ from ‘main’
#  201|       assert(keycode != XKB_KEYCODE_INVALID);
#  202|       key = XkbKey(keymap, keycode);
#  203|->     assert(key->modmap == Mod2Mask);
#  204|   
#  205|       keycode = xkb_keymap_key_by_name(keymap, "AD09");

Error: GCC_ANALYZER_WARNING (CWE-476): [#def218]
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:208:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:798:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:803:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:805:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/modifiers.c:805:5: call_function: calling ‘test_modmap_none’ from ‘main’
#  206|       assert(keycode != XKB_KEYCODE_INVALID);
#  207|       key = XkbKey(keymap, keycode);
#  208|->     assert(key->modmap == Mod3Mask);
#  209|   
#  210|       xkb_keymap_unref(keymap);

Error: GCC_ANALYZER_WARNING (CWE-404): [#def219]
libxkbcommon-xkbcommon-1.13.1/test/rulescomp.c:25:9: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
libxkbcommon-xkbcommon-1.13.1/test/rulescomp.c:63:1: enter_function: entry to ‘test_rmlvo’
libxkbcommon-xkbcommon-1.13.1/test/rulescomp.c:70:5: acquire_resource: ‘va_start’ called here
libxkbcommon-xkbcommon-1.13.1/test/rulescomp.c:71:11: call_function: calling ‘test_rmlvo_va’ from ‘test_rmlvo’
#   23|   {
#   24|       struct xkb_keymap * const keymap =
#   25|->         test_compile_rules(context, format, rules, model, layout, variant, options);
#   26|       if (!keymap)
#   27|           return 0;

Error: GCC_ANALYZER_WARNING (CWE-404): [#def220]
libxkbcommon-xkbcommon-1.13.1/test/rulescomp.c:33:21: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
libxkbcommon-xkbcommon-1.13.1/test/rulescomp.c:63:1: enter_function: entry to ‘test_rmlvo’
libxkbcommon-xkbcommon-1.13.1/test/rulescomp.c:70:5: acquire_resource: ‘va_start’ called here
libxkbcommon-xkbcommon-1.13.1/test/rulescomp.c:71:11: call_function: calling ‘test_rmlvo_va’ from ‘test_rmlvo’
#   31|               strnull(variant), strnull(options));
#   32|   
#   33|->     const int ret = test_key_seq_va(keymap, ap);
#   34|   
#   35|       xkb_keymap_unref(keymap);

Error: GCC_ANALYZER_WARNING (CWE-404): [#def221]
libxkbcommon-xkbcommon-1.13.1/test/rulescomp.c:47:9: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
libxkbcommon-xkbcommon-1.13.1/test/rulescomp.c:63:1: enter_function: entry to ‘test_rmlvo’
libxkbcommon-xkbcommon-1.13.1/test/rulescomp.c:71:11: call_function: calling ‘test_rmlvo_va’ from ‘test_rmlvo’
libxkbcommon-xkbcommon-1.13.1/test/rulescomp.c:71:11: return_function: returning to ‘test_rmlvo’ from ‘test_rmlvo_va’
libxkbcommon-xkbcommon-1.13.1/test/rulescomp.c:74:5: acquire_resource: ‘va_start’ called here
libxkbcommon-xkbcommon-1.13.1/test/rulescomp.c:75:12: call_function: calling ‘test_rmlvo_builder_va’ from ‘test_rmlvo’
#   45|   {
#   46|       struct xkb_keymap * const keymap =
#   47|->         test_compile_rmlvo(context, format, rules, model, layout, variant, options);
#   48|       if (!keymap)
#   49|           return 0;

Error: GCC_ANALYZER_WARNING (CWE-404): [#def222]
libxkbcommon-xkbcommon-1.13.1/test/rulescomp.c:55:21: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
libxkbcommon-xkbcommon-1.13.1/test/rulescomp.c:63:1: enter_function: entry to ‘test_rmlvo’
libxkbcommon-xkbcommon-1.13.1/test/rulescomp.c:71:11: call_function: calling ‘test_rmlvo_va’ from ‘test_rmlvo’
libxkbcommon-xkbcommon-1.13.1/test/rulescomp.c:71:11: return_function: returning to ‘test_rmlvo’ from ‘test_rmlvo_va’
libxkbcommon-xkbcommon-1.13.1/test/rulescomp.c:74:5: acquire_resource: ‘va_start’ called here
libxkbcommon-xkbcommon-1.13.1/test/rulescomp.c:75:12: call_function: calling ‘test_rmlvo_builder_va’ from ‘test_rmlvo’
#   53|               strnull(variant), strnull(options));
#   54|   
#   55|->     const int ret = test_key_seq_va(keymap, ap);
#   56|   
#   57|       xkb_keymap_unref(keymap);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def223]
libxkbcommon-xkbcommon-1.13.1/test/test.h:152:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:18:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:28:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:30:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:31:12: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:32:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:39:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:39:5: call_function: calling ‘xkb_enable_quiet_logging’ from ‘main’
#  150|   xkb_enable_quiet_logging(struct xkb_context *ctx)
#  151|   {
#  152|->     xkb_context_set_log_level(ctx, XKB_LOG_LEVEL_CRITICAL);
#  153|       xkb_context_set_log_verbosity(ctx, XKB_LOG_VERBOSITY_MINIMAL);
#  154|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def224]
libxkbcommon-xkbcommon-1.13.1/test/test.h:152:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:18:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:28:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:30:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:31:12: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:32:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:39:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:39:5: call_function: calling ‘xkb_enable_quiet_logging’ from ‘main’
#  150|   xkb_enable_quiet_logging(struct xkb_context *ctx)
#  151|   {
#  152|->     xkb_context_set_log_level(ctx, XKB_LOG_LEVEL_CRITICAL);
#  153|       xkb_context_set_log_verbosity(ctx, XKB_LOG_VERBOSITY_MINIMAL);
#  154|   }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def225]
libxkbcommon-xkbcommon-1.13.1/test/test.h:153:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:18:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:28:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:30:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:31:12: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:32:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:39:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:39:5: call_function: calling ‘xkb_enable_quiet_logging’ from ‘main’
#  151|   {
#  152|       xkb_context_set_log_level(ctx, XKB_LOG_LEVEL_CRITICAL);
#  153|->     xkb_context_set_log_verbosity(ctx, XKB_LOG_VERBOSITY_MINIMAL);
#  154|   }
#  155|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def226]
libxkbcommon-xkbcommon-1.13.1/test/test.h:153:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(test_get_path("locale/en_US.UTF-8/Compose"), "rb")’
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:18:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:28:5: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:30:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:31:12: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:32:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:39:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/bench/compose.c:39:5: call_function: calling ‘xkb_enable_quiet_logging’ from ‘main’
#  151|   {
#  152|       xkb_context_set_log_level(ctx, XKB_LOG_LEVEL_CRITICAL);
#  153|->     xkb_context_set_log_verbosity(ctx, XKB_LOG_VERBOSITY_MINIMAL);
#  154|   }
#  155|   

Error: GCC_ANALYZER_WARNING (CWE-688): [#def227]
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:45:9: warning[-Wanalyzer-null-argument]: use of NULL where non-null expected
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:18:1: enter_function: entry to ‘strip_lines’
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:27:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:28:25: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:39:12: branch_false: following ‘false’ branch (when ‘i != 0’)...
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:39:29: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:45:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:45:9: call_function: inlined call to ‘darray_next_alloc’ from ‘strip_lines’
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:45:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:45:9: danger: argument 1 (‘buf.item + (sizetype)buf.size’) NULL where non-null expected
#   43|   
#   44|           /* Append string */
#   45|->         darray_append_items(buf, start, (darray_size_t) count);
#   46|   
#   47|           /* Find end of line */

Error: GCC_ANALYZER_WARNING (CWE-688): [#def228]
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:67:9: warning[-Wanalyzer-null-argument]: use of NULL ‘buf.item’ where non-null expected
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:27:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:65:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:65:8: branch_true: following ‘true’ branch (when ‘start < end’)...
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:66:25: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:67:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:67:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:67:9: danger: argument 1 (‘buf.item + (sizetype)buf.size’) NULL where non-null expected
#   65|       if (start < end) {
#   66|           count = (size_t)(end - start);
#   67|->         darray_append_items(buf, start, (darray_size_t) count);
#   68|       }
#   69|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def229]
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:70:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:18:1: enter_function: entry to ‘strip_lines’
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:27:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:65:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:65:8: branch_false: following ‘false’ branch (when ‘start >= end’)...
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:70:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:70:5: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:70:5: call_function: inlined call to ‘darray_next_alloc’ from ‘strip_lines’
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:70:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:70:5: danger: dereference of NULL ‘buf.item + (sizetype)buf.size’
#   68|       }
#   69|   
#   70|->     darray_append(buf, '\0');
#   71|       return darray_items(buf);
#   72|   }

Error: COMPILER_WARNING (CWE-704): [#def230]
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c: scope_hint: In function ‘uncomment’
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:82:18: warning[-Wdiscarded-qualifiers]: initialization discards ‘const’ qualifier from pointer target type
#   82 |     char *next = strstr(start, prefix);
#      |                  ^~~~~~
#   80|       const char *end = input + input_length;
#   81|   
#   82|->     char *next = strstr(start, prefix);
#   83|       size_t count;
#   84|       while (start < end && next != NULL) {

Error: COMPILER_WARNING (CWE-704): [#def231]
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:82:18: warning[-Wdiscarded-qualifiers]: initialization discards ‘const’ qualifier from pointer target type
#   80|       const char *end = input + input_length;
#   81|   
#   82|->     char *next = strstr(start, prefix);
#   83|       size_t count;
#   84|       while (start < end && next != NULL) {

Error: GCC_ANALYZER_WARNING (CWE-688): [#def232]
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:86:9: warning[-Wanalyzer-null-argument]: use of NULL where non-null expected
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:75:1: enter_function: entry to ‘uncomment’
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:84:12: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:85:25: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:86:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:86:9: call_function: inlined call to ‘darray_next_alloc’ from ‘uncomment’
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:86:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:86:9: danger: argument 1 (‘buf.item + (sizetype)buf.size’) NULL where non-null expected
#   84|       while (start < end && next != NULL) {
#   85|           count = (size_t)(next - start);
#   86|->         darray_append_items(buf, start, (darray_size_t) count);
#   87|   
#   88|           /* Skip prefix */

Error: COMPILER_WARNING (CWE-704): [#def233]
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:94:14: warning[-Wdiscarded-qualifiers]: assignment discards ‘const’ qualifier from pointer target type
#   94 |         next = strchr(start, 0x0a);
#      |              ^
#   92|           if (start >= end)
#   93|               break;
#   94|->         next = strchr(start, 0x0a);
#   95|           if (next == NULL)
#   96|               break;

Error: COMPILER_WARNING (CWE-704): [#def234]
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:94:14: warning[-Wdiscarded-qualifiers]: assignment discards ‘const’ qualifier from pointer target type
#   92|           if (start >= end)
#   93|               break;
#   94|->         next = strchr(start, 0x0a);
#   95|           if (next == NULL)
#   96|               break;

Error: GCC_ANALYZER_WARNING (CWE-688): [#def235]
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:103:9: warning[-Wanalyzer-null-argument]: use of NULL ‘buf.item’ where non-null expected
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:84:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:101:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:101:8: branch_true: following ‘true’ branch (when ‘start < end’)...
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:102:25: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:103:9: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:103:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:103:9: danger: argument 1 (‘buf.item + (sizetype)buf.size’) NULL where non-null expected
#  101|       if (start < end) {
#  102|           count = (size_t)(end - start);
#  103|->         darray_append_items(buf, start, (darray_size_t) count);
#  104|       }
#  105|   

Error: COMPILER_WARNING (CWE-704): [#def236]
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c: scope_hint: In function ‘split_lines’
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:122:14: warning[-Wdiscarded-qualifiers]: assignment discards ‘const’ qualifier from pointer target type
#  122 |         next = strchr(start, 0x0a);
#      |              ^
#  120|       for (l = 0; i < input_length && l < output_length && *start != '\0'; l++) {
#  121|           /* Look for newline character */
#  122|->         next = strchr(start, 0x0a);
#  123|           output[l].start = start;
#  124|           if (next == NULL) {

Error: COMPILER_WARNING (CWE-704): [#def237]
libxkbcommon-xkbcommon-1.13.1/test/utils-text.c:122:14: warning[-Wdiscarded-qualifiers]: assignment discards ‘const’ qualifier from pointer target type
#  120|       for (l = 0; i < input_length && l < output_length && *start != '\0'; l++) {
#  121|           /* Look for newline character */
#  122|->         next = strchr(start, 0x0a);
#  123|           output[l].start = start;
#  124|           if (next == NULL) {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def238]
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:171:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdin_pipe[0]’
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:145:5: branch_false: following ‘false’ branch (when ‘keymap’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:148:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:165:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:170:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:170:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:171:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:171:9: throw: if ‘perror’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:171:9: danger: ‘stdin_pipe[0]’ leaks here
#  169|       }
#  170|       if (posix_spawn_file_actions_init(&action)) {
#  171|->         perror("spawn_file_actions_init error");
#  172|           goto posix_spawn_file_actions_init_error;
#  173|       }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def239]
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:171:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdin_pipe[1]’
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:145:5: branch_false: following ‘false’ branch (when ‘keymap’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:148:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:165:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:170:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:170:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:171:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:171:9: throw: if ‘perror’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:171:9: danger: ‘stdin_pipe[1]’ leaks here
#  169|       }
#  170|       if (posix_spawn_file_actions_init(&action)) {
#  171|->         perror("spawn_file_actions_init error");
#  172|           goto posix_spawn_file_actions_init_error;
#  173|       }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def240]
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:219:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdin_pipe[0]’
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:145:5: branch_false: following ‘false’ branch (when ‘keymap’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:148:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:165:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:170:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:170:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:178:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:178:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:179:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:219:5: throw: if ‘perror’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:219:5: danger: ‘stdin_pipe[0]’ leaks here
#  217|   
#  218|   posix_spawn_file_actions_error:
#  219|->     perror("posix_spawn_file_actions_* error");
#  220|   posix_spawn_file_actions_init_error:
#  221|       close(stdin_pipe[PIPE_WRITE]);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def241]
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:221:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdin_pipe[0]’
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:145:5: branch_false: following ‘false’ branch (when ‘keymap’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:148:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:165:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:170:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:170:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:171:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:221:5: throw: if ‘close’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:221:5: danger: ‘stdin_pipe[0]’ leaks here
#  219|       perror("posix_spawn_file_actions_* error");
#  220|   posix_spawn_file_actions_init_error:
#  221|->     close(stdin_pipe[PIPE_WRITE]);
#  222|       close(stdin_pipe[PIPE_READ]);
#  223|       ret = TEST_SETUP_FAILURE;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def242]
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:221:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdin_pipe[1]’
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:145:5: branch_false: following ‘false’ branch (when ‘keymap’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:148:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:165:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:170:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:170:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:171:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:221:5: throw: if ‘close’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:221:5: danger: ‘stdin_pipe[1]’ leaks here
#  219|       perror("posix_spawn_file_actions_* error");
#  220|   posix_spawn_file_actions_init_error:
#  221|->     close(stdin_pipe[PIPE_WRITE]);
#  222|       close(stdin_pipe[PIPE_READ]);
#  223|       ret = TEST_SETUP_FAILURE;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def243]
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:222:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘stdin_pipe[0]’
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:145:5: branch_false: following ‘false’ branch (when ‘keymap’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:148:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:165:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:170:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:222:5: throw: if ‘close’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:222:5: danger: ‘stdin_pipe[0]’ leaks here
#  220|   posix_spawn_file_actions_init_error:
#  221|       close(stdin_pipe[PIPE_WRITE]);
#  222|->     close(stdin_pipe[PIPE_READ]);
#  223|       ret = TEST_SETUP_FAILURE;
#  224|   cleanup:

Error: GCC_ANALYZER_WARNING (CWE-775): [#def244]
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:278:22: warning[-Wanalyzer-file-leak]: leak of FILE ‘file’
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:257:1: enter_function: entry to ‘test_keymap_roundtrip’
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:265:9: branch_false: following ‘false’ branch (when the strings are non-equal)...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:272:16: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:272:16: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:273:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:278:22: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:278:22: throw: if ‘read_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:278:22: danger: ‘file’ leaks here; was opened at [(7)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/6)
#  276|           }
#  277|       }
#  278|->     char *original = read_file(keymap_path, file);
#  279|       fclose(file);
#  280|       if (!original)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def245]
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:278:22: warning[-Wanalyzer-malloc-leak]: leak of ‘file’
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:257:1: enter_function: entry to ‘test_keymap_roundtrip’
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:265:9: branch_false: following ‘false’ branch (when the strings are non-equal)...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:272:16: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:272:16: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:273:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:278:22: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:278:22: throw: if ‘read_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/test/x11comp.c:278:22: danger: ‘file’ leaks here; was allocated at [(7)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/6)
#  276|           }
#  277|       }
#  278|->     char *original = read_file(keymap_path, file);
#  279|       fclose(file);
#  280|       if (!original)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def246]
libxkbcommon-xkbcommon-1.13.1/test/xvfb-wrapper.c:75:11: warning[-Wanalyzer-malloc-leak]: leak of ‘tmpfile()’
libxkbcommon-xkbcommon-1.13.1/test/xvfb-wrapper.c:46:18: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/test/xvfb-wrapper.c:47:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/xvfb-wrapper.c:51:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/xvfb-wrapper.c:75:11: throw: if ‘posix_spawnp’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/test/xvfb-wrapper.c:75:11: danger: ‘tmpfile()’ leaks here; was allocated at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   73|        * that works.
#   74|        */
#   75|->     ret = posix_spawnp(&xvfb_pid, "Xvfb", NULL, NULL, xvfb_argv, envp);
#   76|       if (ret != 0) {
#   77|           fprintf(stderr,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def247]
libxkbcommon-xkbcommon-1.13.1/test/xvfb-wrapper.c:77:9: warning[-Wanalyzer-malloc-leak]: leak of ‘tmpfile()’
libxkbcommon-xkbcommon-1.13.1/test/xvfb-wrapper.c:46:18: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/test/xvfb-wrapper.c:47:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/xvfb-wrapper.c:51:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/xvfb-wrapper.c:152:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/test/xvfb-wrapper.c:153:9: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/test/xvfb-wrapper.c:157:13: throw: if ‘waitpid’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/test/xvfb-wrapper.c:77:9: danger: ‘tmpfile()’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#   75|       ret = posix_spawnp(&xvfb_pid, "Xvfb", NULL, NULL, xvfb_argv, envp);
#   76|       if (ret != 0) {
#   77|->         fprintf(stderr,
#   78|                   "[ERROR] Cannot run Xvfb. posix_spawnp error %d: %s\n",
#   79|                   ret, strerror(ret));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def248]
libxkbcommon-xkbcommon-1.13.1/test/xvfb-wrapper.c:93:12: warning[-Wanalyzer-malloc-leak]: leak of ‘tmpfile()’
libxkbcommon-xkbcommon-1.13.1/test/xvfb-wrapper.c:46:18: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/test/xvfb-wrapper.c:47:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/xvfb-wrapper.c:51:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/xvfb-wrapper.c:76:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/xvfb-wrapper.c:90:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/xvfb-wrapper.c:93:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/test/xvfb-wrapper.c:94:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/test/xvfb-wrapper.c:94:9: throw: if ‘usleep’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/test/xvfb-wrapper.c:93:12: danger: ‘tmpfile()’ leaks here; was allocated at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#   91|   
#   92|       /* Now wait for the SIGUSR1 signal that Xvfb is ready */
#   93|->     while (!xvfb_is_ready) {
#   94|           usleep(1000);
#   95|           if (++counter >= 3000) /* 3 seconds max wait */

Error: CPPCHECK_WARNING (CWE-758): [#def249]
libxkbcommon-xkbcommon-1.13.1/test/xvfb-wrapper.c:182: error[comparePointers]: Comparing pointers that point to different objects
#  180|       int rc = 0;
#  181|       for (const struct test_function *t = &__start_test_func_sec;
#  182|->          t < &__stop_test_func_sec;
#  183|            t++) {
#  184|           fprintf(stderr, "------ Running test: %s from %s ------\n",

Error: GCC_ANALYZER_WARNING (CWE-775): [#def250]
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:158:13: warning[-Wanalyzer-file-leak]: leak of FILE ‘file’
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:45:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:105:8: branch_false: following ‘false’ branch (when ‘locale’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:111:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:125:15: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:125:15: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:131:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:136:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:142:8: branch_true: following ‘true’ branch (when ‘path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:144:13: call_function: inlined call to ‘isempty’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:144:30: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:144:13: branch_false: following ‘false’ branch (when the strings are non-equal)...
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:149:20: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:149:20: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:152:12: branch_false: following ‘false’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:158:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:158:13: throw: if ‘xkb_compose_table_new_from_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:158:13: danger: ‘file’ leaks here; was opened at [(15)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/14)
#  156|   
#  157|           compose_table =
#  158|->             xkb_compose_table_new_from_file(ctx, file, locale, format,
#  159|                                               XKB_COMPOSE_COMPILE_NO_FLAGS);
#  160|           fclose(file);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def251]
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:158:13: warning[-Wanalyzer-malloc-leak]: leak of ‘file’
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:45:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:105:8: branch_false: following ‘false’ branch (when ‘locale’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:111:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:125:15: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:125:15: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:131:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:136:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:142:8: branch_true: following ‘true’ branch (when ‘path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:144:13: call_function: inlined call to ‘isempty’ from ‘main’
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:144:30: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:144:13: branch_false: following ‘false’ branch (when the strings are non-equal)...
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:149:20: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:149:20: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:152:12: branch_false: following ‘false’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:158:13: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:158:13: throw: if ‘xkb_compose_table_new_from_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/tools/compile-compose.c:158:13: danger: ‘file’ leaks here; was allocated at [(15)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/14)
#  156|   
#  157|           compose_table =
#  158|->             xkb_compose_table_new_from_file(ctx, file, locale, format,
#  159|                                               XKB_COMPOSE_COMPILE_NO_FLAGS);
#  160|           fclose(file);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def252]
libxkbcommon-xkbcommon-1.13.1/tools/compile-keymap.c:499:16: warning[-Wanalyzer-file-leak]: leak of FILE ‘file’
libxkbcommon-xkbcommon-1.13.1/tools/compile-keymap.c:487:12: branch_true: following ‘true’ branch (when ‘path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/compile-keymap.c:489:20: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/compile-keymap.c:489:20: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/tools/compile-keymap.c:494:12: branch_false: following ‘false’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/compile-keymap.c:499:16: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/compile-keymap.c:499:16: throw: if ‘xkb_keymap_new_from_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/tools/compile-keymap.c:499:16: danger: ‘file’ leaks here; was opened at [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#  497|               return NULL;
#  498|           }
#  499|->         return xkb_keymap_new_from_file(ctx, file,
#  500|                                           keymap_input_format,
#  501|                                           XKB_KEYMAP_COMPILE_NO_FLAGS);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def253]
libxkbcommon-xkbcommon-1.13.1/tools/compile-keymap.c:499:16: warning[-Wanalyzer-malloc-leak]: leak of ‘file’
libxkbcommon-xkbcommon-1.13.1/tools/compile-keymap.c:487:12: branch_true: following ‘true’ branch (when ‘path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/compile-keymap.c:489:20: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/compile-keymap.c:489:20: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/tools/compile-keymap.c:494:12: branch_false: following ‘false’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/compile-keymap.c:499:16: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/compile-keymap.c:499:16: throw: if ‘xkb_keymap_new_from_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/tools/compile-keymap.c:499:16: danger: ‘file’ leaks here; was allocated at [(3)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/2)
#  497|               return NULL;
#  498|           }
#  499|->         return xkb_keymap_new_from_file(ctx, file,
#  500|                                           keymap_input_format,
#  501|                                           XKB_KEYMAP_COMPILE_NO_FLAGS);

Error: CPPCHECK_WARNING (CWE-457): [#def254]
libxkbcommon-xkbcommon-1.13.1/tools/how-to-type.c:62: warning[uninitvar]: Uninitialized variable: val
#   60|               }
#   61|           }
#   62|->         if (val < 0) {
#   63|               fprintf(stderr, "ERROR: Failed to convert argument to Unicode code point\n");
#   64|               return INVALID_UTF8_CODE_POINT;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def255]
libxkbcommon-xkbcommon-1.13.1/tools/how-to-type.c:335:16: warning[-Wanalyzer-file-leak]: leak of FILE ‘file’
libxkbcommon-xkbcommon-1.13.1/tools/how-to-type.c:321:8: branch_true: following ‘true’ branch (when ‘keymap_source == 2’)...
libxkbcommon-xkbcommon-1.13.1/tools/how-to-type.c:323:12: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/how-to-type.c:323:12: branch_true: following ‘true’ branch (when ‘keymap_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/how-to-type.c:325:20: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/how-to-type.c:325:20: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/tools/how-to-type.c:330:12: branch_false: following ‘false’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/how-to-type.c:335:16: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/how-to-type.c:335:16: throw: if ‘xkb_keymap_new_from_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/tools/how-to-type.c:335:16: danger: ‘file’ leaks here; was opened at [(5)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/4)
#  333|               return NULL;
#  334|           }
#  335|->         return xkb_keymap_new_from_file(ctx, file, keymap_format,
#  336|                                           XKB_KEYMAP_COMPILE_NO_FLAGS);
#  337|       } else {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def256]
libxkbcommon-xkbcommon-1.13.1/tools/how-to-type.c:335:16: warning[-Wanalyzer-malloc-leak]: leak of ‘file’
libxkbcommon-xkbcommon-1.13.1/tools/how-to-type.c:321:8: branch_true: following ‘true’ branch (when ‘keymap_source == 2’)...
libxkbcommon-xkbcommon-1.13.1/tools/how-to-type.c:323:12: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/how-to-type.c:323:12: branch_true: following ‘true’ branch (when ‘keymap_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/how-to-type.c:325:20: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/how-to-type.c:325:20: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/tools/how-to-type.c:330:12: branch_false: following ‘false’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/how-to-type.c:335:16: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/how-to-type.c:335:16: throw: if ‘xkb_keymap_new_from_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/tools/how-to-type.c:335:16: danger: ‘file’ leaks here; was allocated at [(5)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/4)
#  333|               return NULL;
#  334|           }
#  335|->         return xkb_keymap_new_from_file(ctx, file, keymap_format,
#  336|                                           XKB_KEYMAP_COMPILE_NO_FLAGS);
#  337|       } else {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def257]
libxkbcommon-xkbcommon-1.13.1/tools/interactive-evdev.c:324:15: warning[-Wanalyzer-malloc-leak]: leak of ‘fds’
libxkbcommon-xkbcommon-1.13.1/tools/interactive-evdev.c:312:11: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-evdev.c:313:8: branch_false: following ‘false’ branch (when ‘fds’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-evdev.c:313:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-evdev.c:318:29: branch_false: following ‘false’ branch (when ‘kbd’ is NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-evdev.c:318:29: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-evdev.c:323:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-evdev.c:324:15: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-evdev.c:324:15: throw: if ‘poll’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-evdev.c:324:15: danger: ‘fds’ leaks here; was allocated at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  322|   
#  323|       while (!terminate) {
#  324|->         ret = poll(fds, nfds, -1);
#  325|           if (ret < 0) {
#  326|               if (errno == EINTR)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def258]
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:108:14: warning[-Wanalyzer-malloc-leak]: leak of ‘name’
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:199:1: enter_function: entry to ‘os_create_anonymous_file’
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:208:8: branch_false: following ‘false’ branch (when ‘path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:213:24: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:214:12: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:215:8: branch_false: following ‘false’ branch (when ‘name’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:218:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:221:10: call_function: calling ‘create_tmpfile_cloexec’ from ‘os_create_anonymous_file’
#  106|   create_tmpfile_cloexec(char *tmpname)
#  107|   {
#  108|->     int fd = mkostemp(tmpname, O_CLOEXEC);
#  109|       if (fd >= 0)
#  110|           unlink(tmpname);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def259]
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:677:5: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘seat’
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:675:37: acquire_memory: this call could return NULL
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:677:5: danger: ‘seat’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  675|       struct interactive_seat *seat = calloc(1, sizeof(*seat));
#  676|   
#  677|->     seat->global_name = name;
#  678|       seat->inter = inter;
#  679|       seat->wl_seat = wl_registry_bind(registry, name, &wl_seat_interface,

Error: GCC_ANALYZER_WARNING (CWE-775): [#def260]
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1057:25: warning[-Wanalyzer-file-leak]: leak of FILE ‘file’
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:848:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:995:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:995:39: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:997:12: branch_false: following ‘false’ branch (when ‘keymap_path’ is NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:999:28: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1000:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1014:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1017:9: branch_false: following ‘false’ branch (when the strings are non-equal)...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1021:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1025:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1031:17: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1032:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1038:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1038:8: branch_false: following ‘false’ branch (when ‘verbose == 0’)...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1042:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1042:8: branch_true: following ‘true’ branch (when ‘with_keymap_file != 0’)...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1044:12: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1044:12: branch_true: following ‘true’ branch (when ‘keymap_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1046:20: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1046:20: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1051:12: branch_false: following ‘false’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1057:25: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1057:25: throw: if ‘xkb_keymap_new_from_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1057:25: danger: ‘file’ leaks here; was opened at [(26)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/25)
# 1055|               goto err_out;
# 1056|           }
# 1057|->         custom_keymap = xkb_keymap_new_from_file(inter.ctx, file,
# 1058|                                                    keymap_input_format,
# 1059|                                                    XKB_KEYMAP_COMPILE_NO_FLAGS);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def261]
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1057:25: warning[-Wanalyzer-malloc-leak]: leak of ‘file’
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:848:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:995:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:995:39: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:997:12: branch_false: following ‘false’ branch (when ‘keymap_path’ is NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:999:28: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1000:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1014:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1017:9: branch_false: following ‘false’ branch (when the strings are non-equal)...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1021:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1025:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1031:17: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1032:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1038:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1038:8: branch_false: following ‘false’ branch (when ‘verbose == 0’)...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1042:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1042:8: branch_true: following ‘true’ branch (when ‘with_keymap_file != 0’)...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1044:12: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1044:12: branch_true: following ‘true’ branch (when ‘keymap_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1046:20: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1046:20: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1051:12: branch_false: following ‘false’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1057:25: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1057:25: throw: if ‘xkb_keymap_new_from_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-wayland.c:1057:25: danger: ‘file’ leaks here; was allocated at [(26)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/25)
# 1055|               goto err_out;
# 1056|           }
# 1057|->         custom_keymap = xkb_keymap_new_from_file(inter.ctx, file,
# 1058|                                                    keymap_input_format,
# 1059|                                                    XKB_KEYMAP_COMPILE_NO_FLAGS);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def262]
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:649:25: warning[-Wanalyzer-file-leak]: leak of FILE ‘file’
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:455:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:579:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:579:39: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:581:12: branch_false: following ‘false’ branch (when ‘keymap_path’ is NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:583:28: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:584:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:598:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:601:9: branch_false: following ‘false’ branch (when the strings are non-equal)...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:605:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:606:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:618:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:623:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:624:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:630:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:634:8: branch_true: following ‘true’ branch (when ‘with_keymap_file != 0’)...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:636:12: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:636:12: branch_true: following ‘true’ branch (when ‘keymap_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:638:20: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:638:20: acquire_resource: opened here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:643:12: branch_false: following ‘false’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:649:25: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:649:25: throw: if ‘xkb_keymap_new_from_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:649:25: danger: ‘file’ leaks here; was opened at [(26)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/25)
#  647|               goto err_out;
#  648|           }
#  649|->         custom_keymap = xkb_keymap_new_from_file(ctx, file,
#  650|                                                    keymap_format,
#  651|                                                    XKB_KEYMAP_COMPILE_NO_FLAGS);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def263]
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:649:25: warning[-Wanalyzer-malloc-leak]: leak of ‘file’
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:455:1: enter_function: entry to ‘main’
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:579:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:579:39: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:581:12: branch_false: following ‘false’ branch (when ‘keymap_path’ is NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:583:28: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:584:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:598:9: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:601:9: branch_false: following ‘false’ branch (when the strings are non-equal)...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:605:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:606:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:618:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:623:11: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:624:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:630:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:634:8: branch_true: following ‘true’ branch (when ‘with_keymap_file != 0’)...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:636:12: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:636:12: branch_true: following ‘true’ branch (when ‘keymap_path’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:638:20: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:638:20: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:643:12: branch_false: following ‘false’ branch (when ‘file’ is non-NULL)...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:649:25: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:649:25: throw: if ‘xkb_keymap_new_from_file’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/tools/interactive-x11.c:649:25: danger: ‘file’ leaks here; was allocated at [(26)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/25)
#  647|               goto err_out;
#  648|           }
#  649|->         custom_keymap = xkb_keymap_new_from_file(ctx, file,
#  650|                                                    keymap_format,
#  651|                                                    XKB_KEYMAP_COMPILE_NO_FLAGS);

Error: GCC_ANALYZER_WARNING (CWE-688): [#def264]
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:290:5: warning[-Wanalyzer-null-argument]: use of NULL ‘parent2_node.item’ where non-null expected
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:329:1: enter_function: entry to ‘print_dot_included_sections’
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:340:21: release_memory: ‘parent2_node.item’ is NULL
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:341:21: release_memory: ‘parent2_node.item’ is NULL
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:343:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:344:17: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:345:22: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:345:22: call_function: calling ‘print_dot_node’ from ‘print_dot_included_sections’
#  288|       /* Node identifier */
#  289|       darray_size(*node) = 0;
#  290|->     darray_append_string(
#  291|           *node,
#  292|           xkb_file_section_get_string(section, inc->path)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def265]
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:295:9: warning[-Wanalyzer-malloc-leak]: leak of ‘parent2_node.item’
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:329:1: enter_function: entry to ‘print_dot_included_sections’
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:343:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:344:17: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:345:22: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:345:22: call_function: calling ‘print_dot_node’ from ‘print_dot_included_sections’
#  293|       );
#  294|       if (inc->section) {
#  295|->         darray_append_lit(*node, "(");
#  296|           darray_append_string(
#  297|               *node,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def266]
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:296:9: warning[-Wanalyzer-malloc-leak]: leak of ‘parent2_node.item’
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:329:1: enter_function: entry to ‘print_dot_included_sections’
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:343:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:344:17: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:345:22: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:345:22: call_function: calling ‘print_dot_node’ from ‘print_dot_included_sections’
#  294|       if (inc->section) {
#  295|           darray_append_lit(*node, "(");
#  296|->         darray_append_string(
#  297|               *node,
#  298|               xkb_file_section_get_string(section, inc->section)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def267]
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:300:9: warning[-Wanalyzer-malloc-leak]: leak of ‘parent2_node.item’
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:329:1: enter_function: entry to ‘print_dot_included_sections’
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:343:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:344:17: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:345:22: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:345:22: call_function: calling ‘print_dot_node’ from ‘print_dot_included_sections’
#  298|               xkb_file_section_get_string(section, inc->section)
#  299|           );
#  300|->         darray_append_lit(*node, ")");
#  301|       }
#  302|   

Error: GCC_ANALYZER_WARNING (CWE-688): [#def268]
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:305:5: warning[-Wanalyzer-null-argument]: use of NULL ‘parent2_label.item’ where non-null expected
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:329:1: enter_function: entry to ‘print_dot_included_sections’
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:343:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:344:17: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:345:22: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:345:22: call_function: calling ‘print_dot_node’ from ‘print_dot_included_sections’
#  303|       /* Node label */
#  304|       darray_size(*label) = 0;
#  305|->     darray_append_lit(*label, "<B>");
#  306|       darray_append_string(
#  307|           *label,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def269]
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:306:5: warning[-Wanalyzer-malloc-leak]: leak of ‘parent2_label.item’
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:329:1: enter_function: entry to ‘print_dot_included_sections’
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:343:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:344:17: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:345:22: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:345:22: call_function: calling ‘print_dot_node’ from ‘print_dot_included_sections’
#  304|       darray_size(*label) = 0;
#  305|       darray_append_lit(*label, "<B>");
#  306|->     darray_append_string(
#  307|           *label,
#  308|           ((output_options & OUTPUT_YAML_SHORT_LABELS)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def270]
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:312:5: warning[-Wanalyzer-malloc-leak]: leak of ‘parent2_label.item’
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:329:1: enter_function: entry to ‘print_dot_included_sections’
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:343:9: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:344:17: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:345:22: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:345:22: call_function: calling ‘print_dot_node’ from ‘print_dot_included_sections’
#  310|               : xkb_file_section_get_string(section, inc->path))
#  311|       );
#  312|->     darray_append_lit(*label, "</B>");
#  313|       if (inc->section) {
#  314|           darray_append_lit(*label, "(");

Error: COMPILER_WARNING (CWE-252): [#def271]
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c: scope_hint: In function ‘print_dot’
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:385:9: warning[-Wunused-result]: ignoring return value of ‘realpath’ declared with attribute ‘warn_unused_result’
#  385 |         realpath(path, root);
#      |         ^~~~~~~~~~~~~~~~~~~~
#  383|       } else {
#  384|   #ifdef HAVE_REAL_PATH
#  385|->         realpath(path, root);
#  386|   #else
#  387|           if (unlikely(!strcpy_safe(root, sizeof(root), path)))

Error: GCC_ANALYZER_WARNING (CWE-688): [#def272]
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:408:17: warning[-Wanalyzer-null-argument]: use of NULL ‘parent_node.item’ where non-null expected
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:812:1: enter_function: entry to ‘print_sections’
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:879:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:886:39: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:892:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:898:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:909:14: call_function: calling ‘print_dot’ from ‘print_sections’
#  406|               } else {
#  407|                   /* Root node set globally */
#  408|->                 darray_append_string(root_node, root);
#  409|                   printf("\t\"%s\" [label=<<B>%s</B>>, style=\"rounded,filled\"];\n",
#  410|                          darray_items(root_node), root);

Error: GCC_ANALYZER_WARNING (CWE-688): [#def273]
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:422:13: warning[-Wanalyzer-null-argument]: use of NULL ‘<unknown>’ where non-null expected
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:812:1: enter_function: entry to ‘print_sections’
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:879:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:886:39: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:892:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:898:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:909:14: call_function: calling ‘print_dot’ from ‘print_sections’
#  420|           /* Prefix with section type to avoid ID clashes */
#  421|           if (is_composite_file) {
#  422|->             darray_append_string(parent_node,
#  423|                                    xkb_file_type_name(section->file_type));
#  424|               darray_append_lit(parent_node, ":");

Error: GCC_ANALYZER_WARNING (CWE-688): [#def274]
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:427:9: warning[-Wanalyzer-null-argument]: use of NULL ‘parent_label.item’ where non-null expected
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:812:1: enter_function: entry to ‘print_sections’
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:879:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:886:39: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:892:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:898:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:909:14: call_function: calling ‘print_dot’ from ‘print_sections’
#  425|           }
#  426|           /* Append full path & section */
#  427|->         darray_append_string(parent_node, root);
#  428|           if (section->name) {
#  429|               darray_append_lit(parent_node, "(");

Error: GCC_ANALYZER_WARNING (CWE-415): [#def275]
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:448:13: warning[-Wanalyzer-double-free]: double-‘free’ of ‘<unknown>’
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:812:1: enter_function: entry to ‘print_sections’
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:879:8: branch_true: following ‘true’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:886:39: branch_true: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:892:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:898:5: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/introspection.c:909:14: call_function: calling ‘print_dot’ from ‘print_sections’
#  446|           if (!is_composite_file || section->file_type == FILE_TYPE_KEYMAP) {
#  447|               /* Display file only for top-level components */
#  448|->             darray_append_lit(parent_label, "<B>");
#  449|               if (root_file && (output_options & OUTPUT_YAML_SHORT_LABELS)) {
#  450|                   darray_append_string(parent_label, root_file);

Error: CPPCHECK_WARNING (CWE-758): [#def276]
libxkbcommon-xkbcommon-1.13.1/tools/tools-common.c:486: warning[objectIndex]: The address of variable 'sym' might be accessed at non-zero index.
#  484|       printf("keysyms [ ");
#  485|       for (int i = 0; i < nsyms; i++) {
#  486|->         xkb_keysym_get_name(syms[i], s, sizeof(s));
#  487|           printf("%-*s ", XKB_KEYSYM_NAME_MAX_SIZE, s);
#  488|       }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def277]
libxkbcommon-xkbcommon-1.13.1/tools/tools-common.c:749:28: warning[-Wanalyzer-malloc-leak]: leak of ‘tmpfile()’
libxkbcommon-xkbcommon-1.13.1/tools/tools-common.c:741:18: acquire_memory: allocated here
libxkbcommon-xkbcommon-1.13.1/tools/tools-common.c:742:8: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/tools-common.c:742:8: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/tools-common.c:750:12: branch_false: following ‘false’ branch...
libxkbcommon-xkbcommon-1.13.1/tools/tools-common.c:754:12: branch_false: ...to here
libxkbcommon-xkbcommon-1.13.1/tools/tools-common.c:764:5: throw: if ‘fseek’ throws an exception...
libxkbcommon-xkbcommon-1.13.1/tools/tools-common.c:749:28: danger: ‘tmpfile()’ leaks here; was allocated at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  747|       while (true) {
#  748|           char buf[4096] = {0};
#  749|->         const size_t len = fread(buf, 1, sizeof(buf), stdin);
#  750|           if (ferror(stdin)) {
#  751|               fprintf(stderr, "Failed to read from stdin\n");

Scan Properties

analyzer-version-clippy1.92.0
analyzer-version-cppcheck2.19.1
analyzer-version-gcc16.0.0
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-x86_64
project-namelibxkbcommon-1.13.1-1.fc44
store-results-to/tmp/tmppoyznkvx/libxkbcommon-1.13.1-1.fc44.tar.xz
time-created2026-01-08 19:23:16
time-finished2026-01-08 19:26:00
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,cppcheck,clippy,shellcheck,unicontrol' '-o' '/tmp/tmppoyznkvx/libxkbcommon-1.13.1-1.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmppoyznkvx/libxkbcommon-1.13.1-1.fc44.src.rpm'
tool-versioncsmock-3.8.3.20251215.161544.g62de9a5-1.el9