Fixed findings

List of Findings

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1]
xkbcomp-1.4.7/alias.c:117:30: warning[-Wanalyzer-malloc-leak]: leak of ‘info’
xkbcomp-1.4.7/alias.c:106:12: acquire_memory: allocated here
xkbcomp-1.4.7/alias.c:107:8: branch_false: following ‘false’ branch (when ‘info’ is non-NULL)...
xkbcomp-1.4.7/alias.c:112:5: branch_false: ...to here
xkbcomp-1.4.7/alias.c:117:30: throw: if ‘AddCommonInfo’ throws an exception...
xkbcomp-1.4.7/alias.c:117:30: danger: ‘info’ leaks here; was allocated at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  115|       memcpy(info->alias, def->alias, XkbKeyNameLength);
#  116|       memcpy(info->real, def->real, XkbKeyNameLength);
#  117|->     *info_in = (AliasInfo *) AddCommonInfo(&(*info_in)->def, &info->def);
#  118|       return True;
#  119|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def2]
xkbcomp-1.4.7/compat.c:165:31: warning[-Wanalyzer-malloc-leak]: leak of ‘si’
xkbcomp-1.4.7/compat.c:342:1: enter_function: entry to ‘MergeIncludedCompatMaps’
xkbcomp-1.4.7/compat.c:358:45: branch_true: following ‘true’ branch (when ‘si’ is non-NULL)...
xkbcomp-1.4.7/compat.c:361:12: branch_true: ...to here
xkbcomp-1.4.7/compat.c:361:12: branch_false: following ‘false’ branch (when ‘merge == 0’)...
xkbcomp-1.4.7/compat.c:363:14: branch_false: ...to here
xkbcomp-1.4.7/compat.c:363:14: call_function: calling ‘AddInterp’ from ‘MergeIncludedCompatMaps’
#  163|       {
#  164|           info->interps =
#  165|->             (SymInterpInfo *) AddCommonInfo(&info->interps->defs,
#  166|                                               (CommonInfo *) si);
#  167|           info->nInterps++;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def3]
xkbcomp-1.4.7/keycodes.c:124:44: warning[-Wanalyzer-malloc-leak]: leak of ‘ii’
xkbcomp-1.4.7/keycodes.c:425:1: enter_function: entry to ‘MergeIncludedKeycodes’
xkbcomp-1.4.7/keycodes.c:454:8: branch_true: following ‘true’ branch...
xkbcomp-1.4.7/keycodes.c:454:8: branch_true: ...to here
xkbcomp-1.4.7/keycodes.c:457:32: branch_true: following ‘true’ branch (when ‘led’ is non-NULL)...
xkbcomp-1.4.7/keycodes.c:459:16: branch_true: ...to here
xkbcomp-1.4.7/keycodes.c:459:16: branch_false: following ‘false’ branch (when ‘merge == 0’)...
xkbcomp-1.4.7/keycodes.c:461:18: branch_false: ...to here
xkbcomp-1.4.7/keycodes.c:461:18: call_function: calling ‘AddIndicatorName’ from ‘MergeIncludedKeycodes’
#  122|       {
#  123|           InitIndicatorNameInfo(ii, info);
#  124|->         info->leds = (IndicatorNameInfo *) AddCommonInfo(&info->leds->defs,
#  125|                                                            (CommonInfo *) ii);
#  126|       }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def4]
xkbcomp-1.4.7/keytypes.c:227:39: warning[-Wanalyzer-malloc-leak]: leak of ‘type’
xkbcomp-1.4.7/keytypes.c:340:1: enter_function: entry to ‘MergeIncludedKeyTypes’
xkbcomp-1.4.7/keytypes.c:353:43: branch_true: following ‘true’ branch (when ‘type’ is non-NULL)...
xkbcomp-1.4.7/keytypes.c:356:12: branch_true: ...to here
xkbcomp-1.4.7/keytypes.c:356:12: branch_false: following ‘false’ branch (when ‘merge == 0’)...
xkbcomp-1.4.7/keytypes.c:358:14: branch_false: ...to here
xkbcomp-1.4.7/keytypes.c:358:14: call_function: calling ‘AddKeyType’ from ‘MergeIncludedKeyTypes’
#  225|           type->defs.fileID = info->fileID;
#  226|           type->dpy = info->dpy;
#  227|->         info->types = (KeyTypeInfo *) AddCommonInfo(&info->types->defs,
#  228|                                                       (CommonInfo *) type);
#  229|           info->nTypes++;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def5]
xkbcomp-1.4.7/keytypes.c:573:26: warning[-Wanalyzer-malloc-leak]: leak of ‘old’
xkbcomp-1.4.7/keytypes.c:1170:1: enter_function: entry to ‘CompileKeyTypes’
xkbcomp-1.4.7/keytypes.c:1176:5: call_function: calling ‘InitKeyTypesInfo’ from ‘CompileKeyTypes’
xkbcomp-1.4.7/keytypes.c:1176:5: return_function: returning to ‘CompileKeyTypes’ from ‘InitKeyTypesInfo’
xkbcomp-1.4.7/keytypes.c:1178:5: call_function: calling ‘HandleKeyTypesFile’ from ‘CompileKeyTypes’
#  571|       old->matchingMapIndex = -1;
#  572|       type->preserve =
#  573|->         (PreserveInfo *) AddCommonInfo(&type->preserve->defs, &old->defs);
#  574|       return True;
#  575|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def6]
xkbcomp-1.4.7/symbols.c:430:21: warning[-Wanalyzer-malloc-leak]: leak of ‘resultSyms’
xkbcomp-1.4.7/symbols.c:695:1: enter_function: entry to ‘MergeIncludedSymbols’
xkbcomp-1.4.7/symbols.c:711:17: branch_true: following ‘true’ branch (when ‘i != 4’)...
xkbcomp-1.4.7/symbols.c:713:13: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:713:12: branch_true: following ‘true’ branch...
xkbcomp-1.4.7/symbols.c:715:16: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:715:16: branch_true: following ‘true’ branch (when ‘merge != 1’)...
xkbcomp-1.4.7/symbols.c:716:17: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:713:12: branch_true: following ‘true’ branch...
xkbcomp-1.4.7/symbols.c:715:16: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:715:16: branch_true: following ‘true’ branch (when ‘merge != 1’)...
xkbcomp-1.4.7/symbols.c:716:17: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:719:35: branch_true: following ‘true’ branch...
xkbcomp-1.4.7/symbols.c:721:12: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:721:12: branch_true: following ‘true’ branch (when ‘merge != 0’)...
xkbcomp-1.4.7/symbols.c:722:13: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:723:14: call_function: calling ‘AddKeySymbols’ from ‘MergeIncludedSymbols’
#  428|                   if (report)
#  429|                   {
#  430|->                     WARN
#  431|                           ("Multiple actions for level %d/group %d on key %s\n",
#  432|                            i + 1, group + 1, longText(into->name, XkbMessage));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def7]
xkbcomp-1.4.7/symbols.c:433:21: warning[-Wanalyzer-malloc-leak]: leak of ‘resultSyms’
xkbcomp-1.4.7/symbols.c:695:1: enter_function: entry to ‘MergeIncludedSymbols’
xkbcomp-1.4.7/symbols.c:711:17: branch_true: following ‘true’ branch (when ‘i != 4’)...
xkbcomp-1.4.7/symbols.c:713:13: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:713:12: branch_true: following ‘true’ branch...
xkbcomp-1.4.7/symbols.c:715:16: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:715:16: branch_true: following ‘true’ branch (when ‘merge != 1’)...
xkbcomp-1.4.7/symbols.c:716:17: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:713:12: branch_true: following ‘true’ branch...
xkbcomp-1.4.7/symbols.c:715:16: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:715:16: branch_true: following ‘true’ branch (when ‘merge != 1’)...
xkbcomp-1.4.7/symbols.c:716:17: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:719:35: branch_true: following ‘true’ branch...
xkbcomp-1.4.7/symbols.c:721:12: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:721:12: branch_true: following ‘true’ branch (when ‘merge != 0’)...
xkbcomp-1.4.7/symbols.c:722:13: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:723:14: call_function: calling ‘AddKeySymbols’ from ‘MergeIncludedSymbols’
#  431|                           ("Multiple actions for level %d/group %d on key %s\n",
#  432|                            i + 1, group + 1, longText(into->name, XkbMessage));
#  433|->                     ACTION("Using %s, ignoring %s\n",
#  434|                               XkbActionTypeText(use->type, XkbMessage),
#  435|                               XkbActionTypeText(ignore->type, XkbMessage));

Error: GCC_ANALYZER_WARNING (CWE-476): [#def8]
xkbcomp-1.4.7/symbols.c:434:47: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘use’
xkbcomp-1.4.7/symbols.c:695:1: enter_function: entry to ‘MergeIncludedSymbols’
xkbcomp-1.4.7/symbols.c:711:17: branch_true: following ‘true’ branch (when ‘i != 4’)...
xkbcomp-1.4.7/symbols.c:713:13: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:713:12: branch_true: following ‘true’ branch...
xkbcomp-1.4.7/symbols.c:715:16: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:715:16: branch_true: following ‘true’ branch (when ‘merge != 1’)...
xkbcomp-1.4.7/symbols.c:716:17: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:713:12: branch_true: following ‘true’ branch...
xkbcomp-1.4.7/symbols.c:715:16: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:715:16: branch_true: following ‘true’ branch (when ‘merge != 1’)...
xkbcomp-1.4.7/symbols.c:716:17: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:719:35: branch_true: following ‘true’ branch...
xkbcomp-1.4.7/symbols.c:721:12: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:721:12: branch_true: following ‘true’ branch (when ‘merge != 0’)...
xkbcomp-1.4.7/symbols.c:722:13: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:723:14: call_function: calling ‘AddKeySymbols’ from ‘MergeIncludedSymbols’
#  432|                            i + 1, group + 1, longText(into->name, XkbMessage));
#  433|                       ACTION("Using %s, ignoring %s\n",
#  434|->                             XkbActionTypeText(use->type, XkbMessage),
#  435|                               XkbActionTypeText(ignore->type, XkbMessage));
#  436|                   }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def9]
xkbcomp-1.4.7/symbols.c:435:47: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘ignore’
xkbcomp-1.4.7/symbols.c:695:1: enter_function: entry to ‘MergeIncludedSymbols’
xkbcomp-1.4.7/symbols.c:711:17: branch_true: following ‘true’ branch (when ‘i != 4’)...
xkbcomp-1.4.7/symbols.c:713:13: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:713:12: branch_true: following ‘true’ branch...
xkbcomp-1.4.7/symbols.c:715:16: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:715:16: branch_true: following ‘true’ branch (when ‘merge != 1’)...
xkbcomp-1.4.7/symbols.c:716:17: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:713:12: branch_true: following ‘true’ branch...
xkbcomp-1.4.7/symbols.c:715:16: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:715:16: branch_true: following ‘true’ branch (when ‘merge != 1’)...
xkbcomp-1.4.7/symbols.c:716:17: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:719:35: branch_true: following ‘true’ branch...
xkbcomp-1.4.7/symbols.c:721:12: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:721:12: branch_true: following ‘true’ branch (when ‘merge != 0’)...
xkbcomp-1.4.7/symbols.c:722:13: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:723:14: call_function: calling ‘AddKeySymbols’ from ‘MergeIncludedSymbols’
#  433|                       ACTION("Using %s, ignoring %s\n",
#  434|                               XkbActionTypeText(use->type, XkbMessage),
#  435|->                             XkbActionTypeText(ignore->type, XkbMessage));
#  436|                   }
#  437|                   resultActs[i] = *use;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def10]
xkbcomp-1.4.7/symbols.c:437:17: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘use’
xkbcomp-1.4.7/symbols.c:695:1: enter_function: entry to ‘MergeIncludedSymbols’
xkbcomp-1.4.7/symbols.c:711:17: branch_true: following ‘true’ branch (when ‘i != 4’)...
xkbcomp-1.4.7/symbols.c:713:13: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:713:12: branch_true: following ‘true’ branch...
xkbcomp-1.4.7/symbols.c:715:16: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:715:16: branch_true: following ‘true’ branch (when ‘merge != 1’)...
xkbcomp-1.4.7/symbols.c:716:17: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:713:12: branch_true: following ‘true’ branch...
xkbcomp-1.4.7/symbols.c:715:16: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:715:16: branch_true: following ‘true’ branch (when ‘merge != 1’)...
xkbcomp-1.4.7/symbols.c:716:17: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:719:35: branch_true: following ‘true’ branch...
xkbcomp-1.4.7/symbols.c:721:12: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:721:12: branch_true: following ‘true’ branch (when ‘merge != 0’)...
xkbcomp-1.4.7/symbols.c:722:13: branch_true: ...to here
xkbcomp-1.4.7/symbols.c:723:14: call_function: calling ‘AddKeySymbols’ from ‘MergeIncludedSymbols’
#  435|                               XkbActionTypeText(ignore->type, XkbMessage));
#  436|                   }
#  437|->                 resultActs[i] = *use;
#  438|               }
#  439|           }

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
diffbase-analyzer-version-clippy1.92.0
diffbase-analyzer-version-cppcheck2.19.1
diffbase-analyzer-version-gcc16.0.0
diffbase-analyzer-version-gcc-analyzer16.0.0
diffbase-analyzer-version-shellcheck0.11.0
diffbase-analyzer-version-unicontrol0.0.2
diffbase-enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
diffbase-exit-code0
diffbase-hostip-172-16-1-48.us-west-2.compute.internal
diffbase-known-false-positives/usr/share/csmock/known-false-positives.js
diffbase-known-false-positives-rpmknown-false-positives-0.0.0.20250521.132812.g8eff701.main-1.el9.noarch
diffbase-mock-configfedora-rawhide-x86_64
diffbase-project-namexkbcomp-1.5.0-1.fc44
diffbase-store-results-to/tmp/tmp59xb617d/xkbcomp-1.5.0-1.fc44.tar.xz
diffbase-time-created2026-01-08 22:13:02
diffbase-time-finished2026-01-08 22:14:31
diffbase-toolcsmock
diffbase-tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,cppcheck,clippy,shellcheck,unicontrol' '-o' '/tmp/tmp59xb617d/xkbcomp-1.5.0-1.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmp59xb617d/xkbcomp-1.5.0-1.fc44.src.rpm'
diffbase-tool-versioncsmock-3.8.3.20251215.161544.g62de9a5-1.el9
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-48.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-namexkbcomp-1.4.7-4.fc43
store-results-to/tmp/tmpcl965mmv/xkbcomp-1.4.7-4.fc43.tar.xz
time-created2026-01-08 22:10:38
time-finished2026-01-08 22:12:37
titleFixed findings
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,cppcheck,clippy,shellcheck,unicontrol' '-o' '/tmp/tmpcl965mmv/xkbcomp-1.4.7-4.fc43.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpcl965mmv/xkbcomp-1.4.7-4.fc43.src.rpm'
tool-versioncsmock-3.8.3.20251215.161544.g62de9a5-1.el9