libevdev-1.13.4-1.fc43

List of Findings

Error: GCC_ANALYZER_WARNING (CWE-126): [#def1]
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev-names.c:92:21: warning[-Wanalyzer-out-of-bounds]: buffer over-read
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev-names.c:109:1: enter_function: entry to ‘libevdev_event_code_from_name_n’
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev-names.c:116:21: call_function: calling ‘type_from_prefix’ from ‘libevdev_event_code_from_name_n’
#   90|   		/* skip EV_ prefix so @e is suffix of [EV_]XYZ */
#   91|   		e = &ev_names[i].name[3];
#   92|-> 		l = strlen(e);
#   93|   
#   94|   		/* compare prefix and test for trailing _ */

Error: GCC_ANALYZER_WARNING (CWE-688): [#def2]
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev-uinput.c:279:21: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘*uinput_dev.name’ where non-null expected
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev-uinput.c:370:1: enter_function: entry to ‘libevdev_uinput_create_from_device’
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev-uinput.c:377:22: call_function: calling ‘alloc_uinput_device’ from ‘libevdev_uinput_create_from_device’
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev-uinput.c:377:22: return_function: returning to ‘libevdev_uinput_create_from_device’ from ‘alloc_uinput_device’
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev-uinput.c:378:12: branch_false: following ‘false’ branch...
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev-uinput.c:381:12: branch_false: ...to here
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev-uinput.c:381:12: branch_false: following ‘false’ branch (when ‘fd != -2’)...
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev-uinput.c:387:19: branch_false: ...to here
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev-uinput.c:387:19: branch_false: following ‘false’ branch (when ‘fd >= 0’)...
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev-uinput.c:393:13: branch_false: ...to here
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev-uinput.c:397:22: call_function: calling ‘uinput_create_write’ from ‘libevdev_uinput_create_from_device’
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev-uinput.c:397:22: return_function: returning to ‘libevdev_uinput_create_from_device’ from ‘uinput_create_write’
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev-uinput.c:399:12: branch_false: following ‘false’ branch (when ‘rc == 0’)...
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev-uinput.c:409:32: branch_false: ...to here
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev-uinput.c:412:12: branch_false: following ‘false’ branch (when ‘rc != -1’)...
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev-uinput.c:415:32: branch_false: ...to here
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev-uinput.c:418:13: call_function: calling ‘fetch_syspath_and_devnode’ from ‘libevdev_uinput_create_from_device’
#  277|   
#  278|   		buf[len - 1] = '\0'; /* file contains \n */
#  279|-> 		if (strcmp(buf, uinput_dev->name) == 0) {
#  280|   			if (uinput_dev->syspath) {
#  281|   				/* FIXME: could descend into bit comparison here */

Error: GCC_ANALYZER_WARNING (CWE-476): [#def3]
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev.c:361:26: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev.c:1657:1: enter_function: entry to ‘libevdev_kernel_set_abs_info’
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev.c:1661:12: branch_true: following ‘true’ branch...
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev.c:1666:13: branch_true: ...to here
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev.c:1666:12: branch_false: following ‘false’ branch...
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev.c:1669:12: branch_false: ...to here
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev.c:1669:12: branch_false: following ‘false’ branch (when ‘code <= 63’)...
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev.c:1672:29: branch_false: ...to here
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev.c:1673:12: branch_false: following ‘false’ branch (when ‘rc >= 0’)...
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev.c:1676:22: branch_false: ...to here
libevdev-1.13.4/redhat-linux-build/../libevdev/libevdev.c:1676:22: call_function: calling ‘libevdev_enable_event_code’ from ‘libevdev_kernel_set_abs_info’
#  359|   
#  360|   	free_slots(dev);
#  361|-> 	dev->num_slots = abs_info->maximum + 1;
#  362|   	dev->mt_slot_vals = calloc(dev->num_slots * ABS_MT_CNT, sizeof(int));
#  363|   	if (!dev->mt_slot_vals) {

Error: GCC_ANALYZER_WARNING (CWE-457): [#def4]
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:323:31: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘*absinfo.maximum’
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:381:1: enter_function: entry to ‘main’
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:405:30: call_function: calling ‘parse_options_abs’ from ‘main’
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:405:30: return_function: returning to ‘main’ from ‘parse_options_abs’
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:421:12: branch_false: following ‘false’ branch (when ‘rc == 0’)...
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:424:13: branch_false: ...to here
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:424:12: branch_false: following ‘false’ branch...
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:430:20: branch_false: ...to here
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:433:12: branch_false: following ‘false’ branch...
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:439:14: branch_false: ...to here
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:440:12: branch_false: following ‘false’ branch...
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:445:9: branch_false: ...to here
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:447:25: call_function: calling ‘set_abs’ from ‘main’
#  321|   		abs.minimum = absinfo->minimum;
#  322|   	if (changes & OPT_MAX)
#  323|-> 		abs.maximum = absinfo->maximum;
#  324|   	if (changes & OPT_FUZZ)
#  325|   		abs.fuzz = absinfo->fuzz;

Error: GCC_ANALYZER_WARNING (CWE-457): [#def5]
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:325:28: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘*absinfo.fuzz’
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:381:1: enter_function: entry to ‘main’
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:405:30: call_function: calling ‘parse_options_abs’ from ‘main’
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:405:30: return_function: returning to ‘main’ from ‘parse_options_abs’
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:421:12: branch_false: following ‘false’ branch (when ‘rc == 0’)...
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:424:13: branch_false: ...to here
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:424:12: branch_false: following ‘false’ branch...
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:430:20: branch_false: ...to here
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:433:12: branch_false: following ‘false’ branch...
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:439:14: branch_false: ...to here
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:440:12: branch_false: following ‘false’ branch...
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:445:9: branch_false: ...to here
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:447:25: call_function: calling ‘set_abs’ from ‘main’
#  323|   		abs.maximum = absinfo->maximum;
#  324|   	if (changes & OPT_FUZZ)
#  325|-> 		abs.fuzz = absinfo->fuzz;
#  326|   	if (changes & OPT_FLAT)
#  327|   		abs.flat = absinfo->flat;

Error: GCC_ANALYZER_WARNING (CWE-457): [#def6]
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:327:28: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘*absinfo.flat’
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:381:1: enter_function: entry to ‘main’
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:405:30: call_function: calling ‘parse_options_abs’ from ‘main’
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:405:30: return_function: returning to ‘main’ from ‘parse_options_abs’
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:421:12: branch_false: following ‘false’ branch (when ‘rc == 0’)...
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:424:13: branch_false: ...to here
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:424:12: branch_false: following ‘false’ branch...
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:430:20: branch_false: ...to here
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:433:12: branch_false: following ‘false’ branch...
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:439:14: branch_false: ...to here
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:440:12: branch_false: following ‘false’ branch...
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:445:9: branch_false: ...to here
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:447:25: call_function: calling ‘set_abs’ from ‘main’
#  325|   		abs.fuzz = absinfo->fuzz;
#  326|   	if (changes & OPT_FLAT)
#  327|-> 		abs.flat = absinfo->flat;
#  328|   	if (changes & OPT_RES)
#  329|   		abs.resolution = absinfo->resolution;

Error: GCC_ANALYZER_WARNING (CWE-457): [#def7]
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:329:34: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘*absinfo.resolution’
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:381:1: enter_function: entry to ‘main’
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:405:30: call_function: calling ‘parse_options_abs’ from ‘main’
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:405:30: return_function: returning to ‘main’ from ‘parse_options_abs’
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:421:12: branch_false: following ‘false’ branch (when ‘rc == 0’)...
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:424:13: branch_false: ...to here
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:424:12: branch_false: following ‘false’ branch...
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:430:20: branch_false: ...to here
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:433:12: branch_false: following ‘false’ branch...
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:439:14: branch_false: ...to here
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:440:12: branch_false: following ‘false’ branch...
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:445:9: branch_false: ...to here
libevdev-1.13.4/redhat-linux-build/../tools/libevdev-tweak-device.c:447:25: call_function: calling ‘set_abs’ from ‘main’
#  327|   		abs.flat = absinfo->flat;
#  328|   	if (changes & OPT_RES)
#  329|-> 		abs.resolution = absinfo->resolution;
#  330|   
#  331|   	rc = libevdev_kernel_set_abs_info(dev, axis, &abs);

Scan Properties

analyzer-version-clippy1.86.0
analyzer-version-cppcheck2.17.1
analyzer-version-gcc15.0.1
analyzer-version-gcc-analyzer15.0.1
analyzer-version-shellcheck0.10.0
analyzer-version-unicontrol0.0.2
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-90.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20250425.124705.g1c7c448.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-namelibevdev-1.13.4-1.fc43
store-results-to/tmp/tmpn38a_b8r/libevdev-1.13.4-1.fc43.tar.xz
time-created2025-04-25 13:52:17
time-finished2025-04-25 13:53:30
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'unicontrol,cppcheck,gcc,clippy,shellcheck' '-o' '/tmp/tmpn38a_b8r/libevdev-1.13.4-1.fc43.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpn38a_b8r/libevdev-1.13.4-1.fc43.src.rpm'
tool-versioncsmock-3.8.1.20250422.172604.g26bc3d6-1.el9