Fixed findings

List of Findings

Error: GCC_ANALYZER_WARNING (CWE-476): [#def1]
util-linux-2.42.start/disk-utils/fdformat.c:129:49: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘xmalloc(track_size)’
util-linux-2.42.start/disk-utils/fdformat.c:20: included_from: Included from here.
#  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): [#def2]
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:32:13: warning[-Wanalyzer-malloc-leak]: leak of ‘xmalloc(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.
#   30|   	void *ret = malloc(size);
#   31|   
#   32|-> 	if (!ret && size)
#   33|   		err(XALLOC_EXIT_CODE, "cannot allocate %zu bytes", size);
#   34|   	return ret;

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/misc-utils/waitpid.c:33: included_from: Included from here.
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/misc-utils/waitpid.c:24: included_from: Included from here.
#   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/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/lsfd-cmd/lsfd.c: scope_hint: In function ‘new_filter’
util-linux-2.42.start/lsfd-cmd/lsfd.c:2373:28: warning[-Wanalyzer-malloc-leak]: leak of ‘xcalloc(17, 8) + i * 8’
# 2371|   	struct libscols_counter *ct;
# 2372|   
# 2373|-> 	f = new_filter(spec->expr, false, ctl);
# 2374|   
# 2375|   	ct = scols_filter_new_counter(f);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def8]
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): [#def9]
util-linux-2.42.start/misc-utils/logger.c:1050:34: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘xmalloc(*ctl.max_message_size + 4) + i’
# 1048|   
# 1049|   		while (c != EOF && c != '\n' && i < ctl->max_message_size) {
# 1050|-> 			buf[i++] = c;
# 1051|   			c = getchar();
# 1052|   		}

Error: GCC_ANALYZER_WARNING (CWE-476): [#def10]
util-linux-2.42.start/misc-utils/logger.c:1053:24: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘xmalloc(*ctl.max_message_size + 4) + i’
# 1051|   			c = getchar();
# 1052|   		}
# 1053|-> 		buf[i] = '\0';
# 1054|   
# 1055|   		if (i > 0 || !ctl->skip_empty_lines) {

Error: GCC_ANALYZER_WARNING (CWE-476): [#def11]
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.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-80.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-nameutil-linux-2.42.start-7.20260112013836061309.pr3953.1132.gc2d931a12
diffbase-store-results-to/tmp/tmpv2i11l8i/util-linux-2.42.start-7.20260112013836061309.pr3953.1132.gc2d931a12.tar.xz
diffbase-time-created2026-01-12 03:12:41
diffbase-time-finished2026-01-12 03:29:21
diffbase-toolcsmock
diffbase-tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,cppcheck,clippy,shellcheck,unicontrol' '-o' '/tmp/tmpv2i11l8i/util-linux-2.42.start-7.20260112013836061309.pr3953.1132.gc2d931a12.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '/tmp/tmpv2i11l8i/util-linux-2.42.start-7.20260112013836061309.pr3953.1132.gc2d931a12.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-80.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-nameutil-linux-2.42.start-7.20260108124223765795.master.1129.g3b373f1c9
store-results-to/tmp/tmpv9e68klc/util-linux-2.42.start-7.20260108124223765795.master.1129.g3b373f1c9.tar.xz
time-created2026-01-12 02:54:07
time-finished2026-01-12 03:11:53
titleFixed findings
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,cppcheck,clippy,shellcheck,unicontrol' '-o' '/tmp/tmpv9e68klc/util-linux-2.42.start-7.20260108124223765795.master.1129.g3b373f1c9.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '/tmp/tmpv9e68klc/util-linux-2.42.start-7.20260108124223765795.master.1129.g3b373f1c9.src.rpm'
tool-versioncsmock-3.8.3.20251215.161544.g62de9a5-1.el9