Fixed findings

List of Findings

Error: GCC_ANALYZER_WARNING (CWE-476): [#def1]
util-linux-2.42.start/disk-utils/cfdisk.c: scope_hint: In function ‘ui_get_parttype’
util-linux-2.42.start/disk-utils/cfdisk.c:2023:32: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘xcalloc(fdisk_label_get_nparttypes(fdisk_get_label(*cf.cxt, 0)) + 1, 32)’
# 2021|   		char *name;
# 2022|   
# 2023|-> 		cm[i].userdata = (void *) x;
# 2024|   		if (codetypes)
# 2025|   			xasprintf(&name, "%2x %s",

Error: GCC_ANALYZER_WARNING (CWE-476): [#def2]
util-linux-2.42.start/disk-utils/fdformat.c:129:49: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘xmalloc(track_size)’
#  127|   				}
#  128|   				for (count = 0; count < track_size; count++)
#  129|-> 					if (data[count] != FD_FILL_BYTE) {
#  130|   						if (retries_left) {
#  131|   							format_begin(ctrl);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def3]
util-linux-2.42.start/include/xalloc.h:68:13: warning[-Wanalyzer-malloc-leak]: leak of ‘open_pidfds(n_pids,  parse_pids(n_pids,  argv + (long unsigned int)parse_options(argc,  argv) * 8))’
#   66|   	void *ret = calloc(nelems, size);
#   67|   
#   68|-> 	if (!ret && size && nelems)
#   69|   		err(XALLOC_EXIT_CODE, "cannot allocate %zu bytes", size);
#   70|   	return ret;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def4]
util-linux-2.42.start/include/xalloc.h: scope_hint: In function ‘xcalloc’
util-linux-2.42.start/include/xalloc.h:68:13: warning[-Wanalyzer-malloc-leak]: leak of ‘parse_pids(n_pids,  argv + (long unsigned int)parse_options(argc,  argv) * 8)’
#   66|   	void *ret = calloc(nelems, size);
#   67|   
#   68|-> 	if (!ret && size && nelems)
#   69|   		err(XALLOC_EXIT_CODE, "cannot allocate %zu bytes", size);
#   70|   	return ret;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def5]
util-linux-2.42.start/include/xalloc.h: scope_hint: In function ‘open_pidfds’
util-linux-2.42.start/include/xalloc.h:68:13: warning[-Wanalyzer-malloc-leak]: leak of ‘xcalloc(n_pids, 4)’
util-linux-2.42.start/include/strutils.h:55:64: note: in definition of macro ‘strtopid_or_err’
util-linux-2.42.start/misc-utils/waitpid.c:53:55: note: in expansion of macro ‘_’
#   66|   	void *ret = calloc(nelems, size);
#   67|   
#   68|-> 	if (!ret && size && nelems)
#   69|   		err(XALLOC_EXIT_CODE, "cannot allocate %zu bytes", size);
#   70|   	return ret;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def6]
util-linux-2.42.start/misc-utils/waitpid.c:33: included_from: Included from here.
util-linux-2.42.start/include/xalloc.h: scope_hint: In function ‘parse_pids’
util-linux-2.42.start/include/xalloc.h:68:13: warning[-Wanalyzer-malloc-leak]: leak of ‘xcalloc(n_strings, 4)’
util-linux-2.42.start/include/xalloc.h:19: included_from: Included from here.
util-linux-2.42.start/include/strutils.h:55:64: note: in definition of macro ‘strtopid_or_err’
util-linux-2.42.start/misc-utils/waitpid.c:53:55: note: in expansion of macro ‘_’
util-linux-2.42.start/misc-utils/waitpid.c:53:27: note: in expansion of macro ‘strtopid_or_err’
#   66|   	void *ret = calloc(nelems, size);
#   67|   
#   68|-> 	if (!ret && size && nelems)
#   69|   		err(XALLOC_EXIT_CODE, "cannot allocate %zu bytes", size);
#   70|   	return ret;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def7]
util-linux-2.42.start/login-utils/last.c:48: included_from: Included from here.
util-linux-2.42.start/include/xalloc.h: scope_hint: In function ‘xstrdup’
util-linux-2.42.start/include/xalloc.h:95:17: warning[-Wanalyzer-malloc-leak]: leak of ‘xmalloc(8) + nfiles * 8’
util-linux-2.42.start/include/optutils.h:8: included_from: Included from here.
util-linux-2.42.start/login-utils/last.c:46: included_from: Included from here.
#   93|   	ret = strdup(str);
#   94|   	if (!ret)
#   95|-> 		err(XALLOC_EXIT_CODE, "cannot duplicate string");
#   96|   	return ret;
#   97|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def8]
util-linux-2.42.start/login-utils/lslogins.c: scope_hint: In function ‘build_sgroups_string’
util-linux-2.42.start/login-utils/lslogins.c:415:45: warning[-Wanalyzer-malloc-leak]: leak of ‘res’
#  413|   			x = snprintf(p, len, "%u,", sgroups[n]);
#  414|   		else {
#  415|-> 			struct group *grp = getgrgid(sgroups[n]);
#  416|   			if (!grp) {
#  417|   				free(res);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def9]
util-linux-2.42.start/misc-utils/cal.c: scope_hint: In function ‘monthly’
util-linux-2.42.start/misc-utils/cal.c:1099:28: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘xcalloc((long unsigned int)*ctl.months_in_row, 208) + (sizetype)i * 208’
util-linux-2.42.start/misc-utils/cal.c:79: included_from: Included from here.
# 1097|   
# 1098|   	for (i = 0; i < ctl->months_in_row - 1; i++)
# 1099|-> 		ms[i].next = &ms[i + 1];
# 1100|   
# 1101|   	rows = (ctl->num_months - 1) / ctl->months_in_row;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def10]
util-linux-2.42.start/misc-utils/waitpid.c: scope_hint: In function ‘parse_pids’
util-linux-2.42.start/misc-utils/waitpid.c:53:25: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘xcalloc(n_strings, 4) + i * 4’
util-linux-2.42.start/include/strutils.h:55:64: note: in definition of macro ‘strtopid_or_err’
util-linux-2.42.start/misc-utils/waitpid.c:53:55: note: in expansion of macro ‘_’
#   51|   
#   52|   	for (size_t i = 0; i < n_strings; i++)
#   53|-> 		pids[i] = strtopid_or_err(strings[i], _("invalid PID argument"));
#   54|   
#   55|   	return pids;

Scan Properties

analyzer-version-clippy1.93.0
analyzer-version-cppcheck2.19.1
analyzer-version-gcc16.0.1
analyzer-version-gcc-analyzer16.0.1
analyzer-version-shellcheck0.11.0
analyzer-version-unicontrol0.0.2
diffbase-analyzer-version-clippy1.93.0
diffbase-analyzer-version-cppcheck2.19.1
diffbase-analyzer-version-gcc16.0.1
diffbase-analyzer-version-gcc-analyzer16.0.1
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-8.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.20260119.105402.g7a5be1b.main-1.el9.noarch
diffbase-mock-configfedora-rawhide-x86_64
diffbase-project-nameutil-linux-2.42.start-7.20260131170221016178.pr3953.1276.g4c4c23469
diffbase-store-results-to/tmp/tmpzq3xs155/util-linux-2.42.start-7.20260131170221016178.pr3953.1276.g4c4c23469.tar.xz
diffbase-time-created2026-02-01 02:41:38
diffbase-time-finished2026-02-01 02:58:23
diffbase-toolcsmock
diffbase-tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'cppcheck,unicontrol,shellcheck,gcc,clippy' '-o' '/tmp/tmpzq3xs155/util-linux-2.42.start-7.20260131170221016178.pr3953.1276.g4c4c23469.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '/tmp/tmpzq3xs155/util-linux-2.42.start-7.20260131170221016178.pr3953.1276.g4c4c23469.src.rpm'
diffbase-tool-versioncsmock-3.8.3.20260128.181932.g41af877-1.el9
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-8.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20260119.105402.g7a5be1b.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-nameutil-linux-2.42.start-7.20260129112657577305.master.1268.g02ff63152
store-results-to/tmp/tmpbf8k5vqw/util-linux-2.42.start-7.20260129112657577305.master.1268.g02ff63152.tar.xz
time-created2026-02-01 02:23:10
time-finished2026-02-01 02:40:59
titleFixed findings
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'cppcheck,unicontrol,shellcheck,gcc,clippy' '-o' '/tmp/tmpbf8k5vqw/util-linux-2.42.start-7.20260129112657577305.master.1268.g02ff63152.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '/tmp/tmpbf8k5vqw/util-linux-2.42.start-7.20260129112657577305.master.1268.g02ff63152.src.rpm'
tool-versioncsmock-3.8.3.20260128.181932.g41af877-1.el9