libinput-1.28.1-1.fc43

List of Findings

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1]
libinput-1.28.1/redhat-linux-build/../src/evdev-tablet-pad-leds.c:241:9: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(24)’
libinput-1.28.1/redhat-linux-build/../src/evdev-tablet-pad-leds.c:592:1: enter_function: entry to ‘pad_init_leds’
libinput-1.28.1/redhat-linux-build/../src/evdev-tablet-pad-leds.c:600:12: branch_false: following ‘false’ branch...
libinput-1.28.1/redhat-linux-build/../src/evdev-tablet-pad-leds.c:609:14: branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../src/evdev-tablet-pad-leds.c:609:14: call_function: calling ‘pad_init_leds_from_libwacom’ from ‘pad_init_leds’
#  239|   
#  240|   	button->target_mode = mode;
#  241|-> 	list_append(&group->toggle_button_list, &button->link);
#  242|   	group->base.toggle_button_mask |= bit(button_index);
#  243|   	group->base.button_mask |= bit(button_index);

Error: COMPILER_WARNING (CWE-477): [#def2]
libinput-1.28.1/redhat-linux-build/../src/evdev-tablet.c:1051:9: warning[-Wdeprecated-declarations]: ‘libwacom_stylus_get_for_id’ is deprecated
# 1049|   		return rc;
# 1050|   
# 1051|-> 	s = libwacom_stylus_get_for_id(db, tool->tool_id);
# 1052|   	if (!s)
# 1053|   		return rc;

Error: COMPILER_WARNING (CWE-477): [#def3]
libinput-1.28.1/redhat-linux-build/../src/evdev-tablet.c:2840:17: warning[-Wdeprecated-declarations]: ‘libwacom_get_supported_styli’ is deprecated
# 2838|   	if (wacom && vid == VENDOR_ID_WACOM) {
# 2839|   		int nstyli;
# 2840|-> 		const int *stylus_ids = libwacom_get_supported_styli(wacom, &nstyli);
# 2841|   		for (int i = 0; i < nstyli; i++) {
# 2842|   			if (stylus_ids[i] == 0x11) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def4]
libinput-1.28.1/redhat-linux-build/../src/evdev-totem.c:859:9: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(104)’
libinput-1.28.1/redhat-linux-build/../src/evdev-totem.c:826:1: enter_function: entry to ‘evdev_totem_create’
libinput-1.28.1/redhat-linux-build/../src/evdev-totem.c:832:12: branch_false: following ‘false’ branch...
libinput-1.28.1/redhat-linux-build/../src/evdev-totem.c:835:17: branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../src/evdev-totem.c:835:17: call_function: calling ‘zalloc’ from ‘evdev_totem_create’
libinput-1.28.1/redhat-linux-build/../src/evdev-totem.c:835:17: return_function: returning to ‘evdev_totem_create’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/evdev-totem.c:841:12: branch_true: following ‘true’ branch...
libinput-1.28.1/redhat-linux-build/../src/evdev-totem.c:842:17: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/evdev-totem.c:859:9: danger: ‘zalloc(104)’ leaks here; was allocated at [(8)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/7)
#  857|   	return &totem->base;
#  858|   error:
#  859|-> 	totem_interface_destroy(&totem->base);
#  860|   	return NULL;
#  861|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def5]
libinput-1.28.1/redhat-linux-build/../src/filter-custom.c:438:16: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(40)’
libinput-1.28.1/redhat-linux-build/../src/filter-custom.c:419:1: enter_function: entry to ‘create_custom_accelerator_filter’
libinput-1.28.1/redhat-linux-build/../src/filter-custom.c:421:40: call_function: calling ‘zalloc’ from ‘create_custom_accelerator_filter’
libinput-1.28.1/redhat-linux-build/../src/filter-custom.c:421:40: return_function: returning to ‘create_custom_accelerator_filter’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/filter-custom.c:429:29: call_function: calling ‘create_custom_accel_function’ from ‘create_custom_accelerator_filter’
libinput-1.28.1/redhat-linux-build/../src/filter-custom.c:429:29: return_function: returning to ‘create_custom_accelerator_filter’ from ‘create_custom_accel_function’
libinput-1.28.1/redhat-linux-build/../src/filter-custom.c:438:16: danger: ‘zalloc(40)’ leaks here; was allocated at [(6)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/5)
#  436|   	f->base.interface = &custom_accelerator_interface;
#  437|   
#  438|-> 	return &f->base;
#  439|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def6]
libinput-1.28.1/redhat-linux-build/../src/filter-flat.c:130:16: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(32)’
libinput-1.28.1/redhat-linux-build/../src/filter-flat.c:122:1: enter_function: entry to ‘create_pointer_accelerator_filter_flat’
libinput-1.28.1/redhat-linux-build/../src/filter-flat.c:126:18: call_function: calling ‘zalloc’ from ‘create_pointer_accelerator_filter_flat’
libinput-1.28.1/redhat-linux-build/../src/filter-flat.c:126:18: return_function: returning to ‘create_pointer_accelerator_filter_flat’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/filter-flat.c:130:16: danger: ‘zalloc(32)’ leaks here; was allocated at [(6)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/5)
#  128|   	filter->dpi = dpi;
#  129|   
#  130|-> 	return &filter->base;
#  131|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def7]
libinput-1.28.1/redhat-linux-build/../src/filter-touchpad-flat.c:128:16: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(32)’
libinput-1.28.1/redhat-linux-build/../src/filter-touchpad-flat.c:120:1: enter_function: entry to ‘create_pointer_accelerator_filter_touchpad_flat’
libinput-1.28.1/redhat-linux-build/../src/filter-touchpad-flat.c:124:18: call_function: calling ‘zalloc’ from ‘create_pointer_accelerator_filter_touchpad_flat’
libinput-1.28.1/redhat-linux-build/../src/filter-touchpad-flat.c:124:18: return_function: returning to ‘create_pointer_accelerator_filter_touchpad_flat’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/filter-touchpad-flat.c:128:16: danger: ‘zalloc(32)’ leaks here; was allocated at [(6)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/5)
#  126|   	filter->dpi = dpi;
#  127|   
#  128|-> 	return &filter->base;
#  129|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def8]
libinput-1.28.1/redhat-linux-build/../src/filter-trackpoint-flat.c:147:16: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(32)’
libinput-1.28.1/redhat-linux-build/../src/filter-trackpoint-flat.c:139:1: enter_function: entry to ‘create_pointer_accelerator_filter_trackpoint_flat’
libinput-1.28.1/redhat-linux-build/../src/filter-trackpoint-flat.c:143:18: call_function: calling ‘zalloc’ from ‘create_pointer_accelerator_filter_trackpoint_flat’
libinput-1.28.1/redhat-linux-build/../src/filter-trackpoint-flat.c:143:18: return_function: returning to ‘create_pointer_accelerator_filter_trackpoint_flat’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/filter-trackpoint-flat.c:147:16: danger: ‘zalloc(32)’ leaks here; was allocated at [(6)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/5)
#  145|   	filter->multiplier = multiplier;
#  146|   
#  147|-> 	return &filter->base;
#  148|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def9]
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2304:9: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(16)’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2353:1: enter_function: entry to ‘notify_removed_device’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2357:32: call_function: calling ‘zalloc’ from ‘notify_removed_device’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2357:32: return_function: returning to ‘notify_removed_device’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2359:9: call_function: inlined call to ‘post_base_event’ from ‘notify_removed_device’
# 2302|   	struct libinput *libinput = device->seat->libinput;
# 2303|   	init_event_base(event, device, type);
# 2304|-> 	libinput_post_event(libinput, event);
# 2305|   }
# 2306|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def10]
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2434:9: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(40)’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2412:1: enter_function: entry to ‘keyboard_notify_key’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2420:12: branch_true: following ‘true’ branch...
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2423:21: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2423:21: call_function: calling ‘zalloc’ from ‘keyboard_notify_key’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2423:21: return_function: returning to ‘keyboard_notify_key’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2425:26: call_function: calling ‘update_seat_key_count’ from ‘keyboard_notify_key’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2425:26: return_function: returning to ‘keyboard_notify_key’ from ‘update_seat_key_count’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2434:9: danger: ‘zalloc(40)’ leaks here; was allocated at [(8)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/7)
# 2432|   	};
# 2433|   
# 2434|-> 	post_device_event(device, time,
# 2435|   			  LIBINPUT_EVENT_KEYBOARD_KEY,
# 2436|   			  &key_event->base);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def11]
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2458:9: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(104)’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2440:1: enter_function: entry to ‘pointer_notify_motion’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2447:12: branch_true: following ‘true’ branch...
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2450:24: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2450:24: call_function: calling ‘zalloc’ from ‘pointer_notify_motion’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2450:24: return_function: returning to ‘pointer_notify_motion’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2458:9: danger: ‘zalloc(104)’ leaks here; was allocated at [(8)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/7)
# 2456|   	};
# 2457|   
# 2458|-> 	post_device_event(device, time,
# 2459|   			  LIBINPUT_EVENT_POINTER_MOTION,
# 2460|   			  &motion_event->base);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def12]
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2480:9: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(104)’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2464:1: enter_function: entry to ‘pointer_notify_motion_absolute’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2470:12: branch_true: following ‘true’ branch...
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2473:33: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2473:33: call_function: calling ‘zalloc’ from ‘pointer_notify_motion_absolute’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2473:33: return_function: returning to ‘pointer_notify_motion_absolute’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2480:9: danger: ‘zalloc(104)’ leaks here; was allocated at [(8)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/7)
# 2478|   	};
# 2479|   
# 2480|-> 	post_device_event(device, time,
# 2481|   			  LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE,
# 2482|   			  &motion_absolute_event->base);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def13]
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2510:9: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(104)’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2486:1: enter_function: entry to ‘pointer_notify_button’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2494:12: branch_true: following ‘true’ branch...
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2497:24: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2497:24: call_function: calling ‘zalloc’ from ‘pointer_notify_button’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2497:24: return_function: returning to ‘pointer_notify_button’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2499:29: call_function: calling ‘update_seat_button_count’ from ‘pointer_notify_button’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2499:29: return_function: returning to ‘pointer_notify_button’ from ‘update_seat_button_count’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2510:9: danger: ‘zalloc(104)’ leaks here; was allocated at [(8)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/7)
# 2508|   	};
# 2509|   
# 2510|-> 	post_device_event(device, time,
# 2511|   			  LIBINPUT_EVENT_POINTER_BUTTON,
# 2512|   			  &button_event->base);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def14]
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2541:9: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(104)’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2516:1: enter_function: entry to ‘pointer_notify_axis_finger’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2525:12: branch_true: following ‘true’ branch...
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2528:22: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2528:22: call_function: calling ‘zalloc’ from ‘pointer_notify_axis_finger’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2528:22: return_function: returning to ‘pointer_notify_axis_finger’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2529:29: call_function: calling ‘zalloc’ from ‘pointer_notify_axis_finger’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2529:29: return_function: returning to ‘pointer_notify_axis_finger’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2541:9: danger: ‘zalloc(104)’ leaks here; was allocated at [(8)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/7)
# 2539|   	*axis_event_legacy = *axis_event;
# 2540|   
# 2541|-> 	post_device_event(device, time,
# 2542|   			  LIBINPUT_EVENT_POINTER_SCROLL_FINGER,
# 2543|   			  &axis_event->base);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def15]
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2575:9: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(104)’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2550:1: enter_function: entry to ‘pointer_notify_axis_continuous’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2559:12: branch_true: following ‘true’ branch...
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2562:22: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2562:22: call_function: calling ‘zalloc’ from ‘pointer_notify_axis_continuous’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2562:22: return_function: returning to ‘pointer_notify_axis_continuous’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2563:29: call_function: calling ‘zalloc’ from ‘pointer_notify_axis_continuous’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2563:29: return_function: returning to ‘pointer_notify_axis_continuous’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2575:9: danger: ‘zalloc(104)’ leaks here; was allocated at [(8)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/7)
# 2573|   	*axis_event_legacy = *axis_event;
# 2574|   
# 2575|-> 	post_device_event(device, time,
# 2576|   			  LIBINPUT_EVENT_POINTER_SCROLL_CONTINUOUS,
# 2577|   			  &axis_event->base);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def16]
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2607:9: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(104)’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2584:1: enter_function: entry to ‘pointer_notify_axis_legacy_wheel’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2593:12: branch_true: following ‘true’ branch...
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2596:22: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2596:22: call_function: calling ‘zalloc’ from ‘pointer_notify_axis_legacy_wheel’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2596:22: return_function: returning to ‘pointer_notify_axis_legacy_wheel’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2607:9: danger: ‘zalloc(104)’ leaks here; was allocated at [(8)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/7)
# 2605|   	};
# 2606|   
# 2607|-> 	post_device_event(device, time,
# 2608|   			  LIBINPUT_EVENT_POINTER_AXIS,
# 2609|   			  &axis_event->base);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def17]
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2636:9: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(104)’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2613:1: enter_function: entry to ‘pointer_notify_axis_wheel’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2621:12: branch_true: following ‘true’ branch...
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2624:22: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2624:22: call_function: calling ‘zalloc’ from ‘pointer_notify_axis_wheel’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2624:22: return_function: returning to ‘pointer_notify_axis_wheel’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2636:9: danger: ‘zalloc(104)’ leaks here; was allocated at [(8)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/7)
# 2634|   	};
# 2635|   
# 2636|-> 	post_device_event(device, time,
# 2637|   			  LIBINPUT_EVENT_POINTER_SCROLL_WHEEL,
# 2638|   			  &axis_event->base);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def18]
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2664:9: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(40)’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2644:1: enter_function: entry to ‘touch_notify_touch_down’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2652:12: branch_true: following ‘true’ branch...
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2655:23: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2655:23: call_function: calling ‘zalloc’ from ‘touch_notify_touch_down’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2655:23: return_function: returning to ‘touch_notify_touch_down’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2664:9: danger: ‘zalloc(40)’ leaks here; was allocated at [(8)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/7)
# 2662|   	};
# 2663|   
# 2664|-> 	post_device_event(device, time,
# 2665|   			  LIBINPUT_EVENT_TOUCH_DOWN,
# 2666|   			  &touch_event->base);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def19]
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2690:9: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(40)’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2670:1: enter_function: entry to ‘touch_notify_touch_motion’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2678:12: branch_true: following ‘true’ branch...
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2681:23: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2681:23: call_function: calling ‘zalloc’ from ‘touch_notify_touch_motion’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2681:23: return_function: returning to ‘touch_notify_touch_motion’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2690:9: danger: ‘zalloc(40)’ leaks here; was allocated at [(8)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/7)
# 2688|   	};
# 2689|   
# 2690|-> 	post_device_event(device, time,
# 2691|   			  LIBINPUT_EVENT_TOUCH_MOTION,
# 2692|   			  &touch_event->base);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def20]
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2714:9: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(40)’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2696:1: enter_function: entry to ‘touch_notify_touch_up’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2703:12: branch_true: following ‘true’ branch...
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2706:23: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2706:23: call_function: calling ‘zalloc’ from ‘touch_notify_touch_up’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2706:23: return_function: returning to ‘touch_notify_touch_up’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2714:9: danger: ‘zalloc(40)’ leaks here; was allocated at [(8)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/7)
# 2712|   	};
# 2713|   
# 2714|-> 	post_device_event(device, time,
# 2715|   			  LIBINPUT_EVENT_TOUCH_UP,
# 2716|   			  &touch_event->base);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def21]
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2738:9: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(40)’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2720:1: enter_function: entry to ‘touch_notify_touch_cancel’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2727:12: branch_true: following ‘true’ branch...
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2730:23: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2730:23: call_function: calling ‘zalloc’ from ‘touch_notify_touch_cancel’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2730:23: return_function: returning to ‘touch_notify_touch_cancel’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2738:9: danger: ‘zalloc(40)’ leaks here; was allocated at [(8)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/7)
# 2736|   	};
# 2737|   
# 2738|-> 	post_device_event(device, time,
# 2739|   			  LIBINPUT_EVENT_TOUCH_CANCEL,
# 2740|   			  &touch_event->base);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def22]
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2758:9: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(40)’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2744:1: enter_function: entry to ‘touch_notify_frame’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2749:12: branch_true: following ‘true’ branch...
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2752:23: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2752:23: call_function: calling ‘zalloc’ from ‘touch_notify_frame’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2752:23: return_function: returning to ‘touch_notify_frame’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2758:9: danger: ‘zalloc(40)’ leaks here; was allocated at [(8)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/7)
# 2756|   	};
# 2757|   
# 2758|-> 	post_device_event(device, time,
# 2759|   			  LIBINPUT_EVENT_TOUCH_FRAME,
# 2760|   			  &touch_event->base);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def23]
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2791:9: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(216)’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2764:1: enter_function: entry to ‘tablet_notify_axis’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2775:22: call_function: calling ‘zalloc’ from ‘tablet_notify_axis’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2775:22: return_function: returning to ‘tablet_notify_axis’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2791:9: danger: ‘zalloc(216)’ leaks here; was allocated at [(6)](sarif:/runs/0/results/15/codeFlows/0/threadFlows/0/locations/5)
# 2789|   	       sizeof(axis_event->changed_axes));
# 2790|   
# 2791|-> 	post_device_event(device,
# 2792|   			  time,
# 2793|   			  LIBINPUT_EVENT_TABLET_TOOL_AXIS,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def24]
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2824:9: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(216)’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2798:1: enter_function: entry to ‘tablet_notify_proximity’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2809:27: call_function: calling ‘zalloc’ from ‘tablet_notify_proximity’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2809:27: return_function: returning to ‘tablet_notify_proximity’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2824:9: danger: ‘zalloc(216)’ leaks here; was allocated at [(6)](sarif:/runs/0/results/16/codeFlows/0/threadFlows/0/locations/5)
# 2822|   	       sizeof(proximity_event->changed_axes));
# 2823|   
# 2824|-> 	post_device_event(device,
# 2825|   			  time,
# 2826|   			  LIBINPUT_EVENT_TABLET_TOOL_PROXIMITY,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def25]
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2857:9: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(216)’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2831:1: enter_function: entry to ‘tablet_notify_tip’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2842:21: call_function: calling ‘zalloc’ from ‘tablet_notify_tip’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2842:21: return_function: returning to ‘tablet_notify_tip’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2857:9: danger: ‘zalloc(216)’ leaks here; was allocated at [(6)](sarif:/runs/0/results/17/codeFlows/0/threadFlows/0/locations/5)
# 2855|   	       sizeof(tip_event->changed_axes));
# 2856|   
# 2857|-> 	post_device_event(device,
# 2858|   			  time,
# 2859|   			  LIBINPUT_EVENT_TABLET_TOOL_TIP,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def26]
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2896:9: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(216)’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2864:1: enter_function: entry to ‘tablet_notify_button’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2877:24: call_function: calling ‘zalloc’ from ‘tablet_notify_button’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2877:24: return_function: returning to ‘tablet_notify_button’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2879:29: call_function: calling ‘update_seat_button_count’ from ‘tablet_notify_button’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2879:29: return_function: returning to ‘tablet_notify_button’ from ‘update_seat_button_count’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2896:9: danger: ‘zalloc(216)’ leaks here; was allocated at [(6)](sarif:/runs/0/results/18/codeFlows/0/threadFlows/0/locations/5)
# 2894|   	};
# 2895|   
# 2896|-> 	post_device_event(device,
# 2897|   			  time,
# 2898|   			  LIBINPUT_EVENT_TABLET_TOOL_BUTTON,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def27]
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2924:9: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(120)’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2903:1: enter_function: entry to ‘tablet_pad_notify_button’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2912:24: call_function: calling ‘zalloc’ from ‘tablet_pad_notify_button’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2912:24: return_function: returning to ‘tablet_pad_notify_button’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2924:9: danger: ‘zalloc(120)’ leaks here; was allocated at [(6)](sarif:/runs/0/results/19/codeFlows/0/threadFlows/0/locations/5)
# 2922|   	};
# 2923|   
# 2924|-> 	post_device_event(device,
# 2925|   			  time,
# 2926|   			  LIBINPUT_EVENT_TABLET_PAD_BUTTON,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def28]
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2952:9: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(120)’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2931:1: enter_function: entry to ‘tablet_pad_notify_dial’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2940:22: call_function: calling ‘zalloc’ from ‘tablet_pad_notify_dial’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2940:22: return_function: returning to ‘tablet_pad_notify_dial’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2952:9: danger: ‘zalloc(120)’ leaks here; was allocated at [(6)](sarif:/runs/0/results/20/codeFlows/0/threadFlows/0/locations/5)
# 2950|   	};
# 2951|   
# 2952|-> 	post_device_event(device,
# 2953|   			  time,
# 2954|   			  LIBINPUT_EVENT_TABLET_PAD_DIAL,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def29]
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2982:9: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(120)’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2959:1: enter_function: entry to ‘tablet_pad_notify_ring’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2969:22: call_function: calling ‘zalloc’ from ‘tablet_pad_notify_ring’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2969:22: return_function: returning to ‘tablet_pad_notify_ring’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2982:9: danger: ‘zalloc(120)’ leaks here; was allocated at [(6)](sarif:/runs/0/results/21/codeFlows/0/threadFlows/0/locations/5)
# 2980|   	};
# 2981|   
# 2982|-> 	post_device_event(device,
# 2983|   			  time,
# 2984|   			  LIBINPUT_EVENT_TABLET_PAD_RING,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def30]
libinput-1.28.1/redhat-linux-build/../src/libinput.c:3012:9: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(120)’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2989:1: enter_function: entry to ‘tablet_pad_notify_strip’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2999:23: call_function: calling ‘zalloc’ from ‘tablet_pad_notify_strip’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:2999:23: return_function: returning to ‘tablet_pad_notify_strip’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:3012:9: danger: ‘zalloc(120)’ leaks here; was allocated at [(6)](sarif:/runs/0/results/22/codeFlows/0/threadFlows/0/locations/5)
# 3010|   	};
# 3011|   
# 3012|-> 	post_device_event(device,
# 3013|   			  time,
# 3014|   			  LIBINPUT_EVENT_TABLET_PAD_STRIP,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def31]
libinput-1.28.1/redhat-linux-build/../src/libinput.c:3034:9: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(120)’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:3019:1: enter_function: entry to ‘tablet_pad_notify_key’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:3026:21: call_function: calling ‘zalloc’ from ‘tablet_pad_notify_key’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:3026:21: return_function: returning to ‘tablet_pad_notify_key’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:3034:9: danger: ‘zalloc(120)’ leaks here; was allocated at [(6)](sarif:/runs/0/results/23/codeFlows/0/threadFlows/0/locations/5)
# 3032|   	};
# 3033|   
# 3034|-> 	post_device_event(device,
# 3035|   			  time,
# 3036|   			  LIBINPUT_EVENT_TABLET_PAD_KEY,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def32]
libinput-1.28.1/redhat-linux-build/../src/libinput.c:3068:9: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(80)’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:3041:1: enter_function: entry to ‘gesture_notify’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:3056:25: call_function: calling ‘zalloc’ from ‘gesture_notify’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:3056:25: return_function: returning to ‘gesture_notify’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:3068:9: danger: ‘zalloc(80)’ leaks here; was allocated at [(6)](sarif:/runs/0/results/24/codeFlows/0/threadFlows/0/locations/5)
# 3066|   	};
# 3067|   
# 3068|-> 	post_device_event(device, time, type,
# 3069|   			  &gesture_event->base);
# 3070|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def33]
libinput-1.28.1/redhat-linux-build/../src/libinput.c:3165:9: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(32)’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:3147:1: enter_function: entry to ‘switch_notify_toggle’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:3154:12: branch_true: following ‘true’ branch...
libinput-1.28.1/redhat-linux-build/../src/libinput.c:3157:24: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/libinput.c:3157:24: call_function: calling ‘zalloc’ from ‘switch_notify_toggle’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:3157:24: return_function: returning to ‘switch_notify_toggle’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/libinput.c:3165:9: danger: ‘zalloc(32)’ leaks here; was allocated at [(8)](sarif:/runs/0/results/25/codeFlows/0/threadFlows/0/locations/7)
# 3163|   	};
# 3164|   
# 3165|-> 	post_device_event(device, time,
# 3166|   			  LIBINPUT_EVENT_SWITCH_TOGGLE,
# 3167|   			  &switch_event->base);

Error: GCC_ANALYZER_WARNING (CWE-688): [#def34]
libinput-1.28.1/redhat-linux-build/../src/util-stringbuf.h:150:43: warning[-Wanalyzer-null-argument]: use of NULL ‘msg’ where non-null expected
libinput-1.28.1/redhat-linux-build/../test/litest-runner.c:374:1: enter_function: entry to ‘collect_file’
libinput-1.28.1/redhat-linux-build/../test/litest-runner.c:379:17: call_function: calling ‘xasprintf’ from ‘collect_file’
libinput-1.28.1/redhat-linux-build/../test/litest-runner.c:379:17: return_function: returning to ‘collect_file’ from ‘xasprintf’
libinput-1.28.1/redhat-linux-build/../test/litest-runner.c:380:17: release_memory: ‘msg’ is NULL
libinput-1.28.1/redhat-linux-build/../test/litest-runner.c:380:17: call_function: calling ‘stringbuf_append_string’ from ‘collect_file’
#argument 1 of ‘__builtin_strlen’ must be non-null
#  148|   stringbuf_append_string(struct stringbuf *b, const char *msg)
#  149|   {
#  150|-> 	int r = stringbuf_ensure_space(b, strlen(msg) + 1);
#  151|   	if (r < 0)
#  152|   		return r;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def35]
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:87:20: warning[-Wanalyzer-malloc-leak]: leak of ‘safe_strdup(*<unknown>)’
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:74:1: enter_function: entry to ‘strv_from_argv’
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:78:9: branch_true: following ‘true’ branch (when ‘argc >= 0’)...
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:79:9: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:79:9: branch_true: following ‘true’ branch (when ‘argv’ is non-NULL)...
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:81:12: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:81:12: branch_false: following ‘false’ branch (when ‘argc != 0’)...
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:84:23: branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:84:16: call_function: calling ‘zalloc’ from ‘strv_from_argv’
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:84:16: return_function: returning to ‘strv_from_argv’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:85:25: branch_true: following ‘true’ branch (when ‘i < argc’)...
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:86:46: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:86:30: call_function: calling ‘safe_strdup’ from ‘strv_from_argv’
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:86:30: return_function: returning to ‘strv_from_argv’ from ‘safe_strdup’
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:87:20: branch_false: following ‘false’ branch...
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:91:21: branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:85:25: branch_true: following ‘true’ branch (when ‘i < argc’)...
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:86:46: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:86:30: call_function: calling ‘safe_strdup’ from ‘strv_from_argv’
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:86:30: return_function: returning to ‘strv_from_argv’ from ‘safe_strdup’
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:87:20: branch_false: following ‘false’ branch...
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:91:21: branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:85:25: branch_true: following ‘true’ branch (when ‘i < argc’)...
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:86:46: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:86:30: call_function: calling ‘safe_strdup’ from ‘strv_from_argv’
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:86:30: return_function: returning to ‘strv_from_argv’ from ‘safe_strdup’
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:87:20: branch_false: following ‘false’ branch...
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:91:21: branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:85:25: branch_true: following ‘true’ branch (when ‘i < argc’)...
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:86:46: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:86:30: call_function: calling ‘safe_strdup’ from ‘strv_from_argv’
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:86:30: return_function: returning to ‘strv_from_argv’ from ‘safe_strdup’
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:87:20: danger: ‘safe_strdup(*<unknown>)’ leaks here; was allocated at [(54)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/53)
#   85|   	for (int i = 0; i < argc; i++) {
#   86|   		char *copy = safe_strdup(argv[i]);
#   87|-> 		if (!copy) {
#   88|   			strv_free(strv);
#   89|   			return NULL;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def36]
libinput-1.28.1/redhat-linux-build/../src/util-strings.h:58:13: warning[-Wanalyzer-malloc-leak]: leak of ‘builddir_lookup()’
libinput-1.28.1/redhat-linux-build/../test/test-builddir-lookup.c:29:1: enter_function: entry to ‘main’
libinput-1.28.1/redhat-linux-build/../test/test-builddir-lookup.c:34:9: branch_true: following ‘true’ branch (when ‘argc == 2’)...
libinput-1.28.1/redhat-linux-build/../test/test-builddir-lookup.c:35:9: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../test/test-builddir-lookup.c:37:20: call_function: calling ‘builddir_lookup’ from ‘main’
libinput-1.28.1/redhat-linux-build/../test/test-builddir-lookup.c:37:20: return_function: returning to ‘main’ from ‘builddir_lookup’
libinput-1.28.1/redhat-linux-build/../test/test-builddir-lookup.c:38:12: branch_true: following ‘true’ branch...
libinput-1.28.1/redhat-linux-build/../test/test-builddir-lookup.c:39:17: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/util-strings.h:58:13: danger: ‘builddir_lookup()’ leaks here; was allocated at [(18)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/17)
#   56|   {
#   57|   	/* one NULL, one not NULL is always false */
#   58|-> 	if (str1 && str2)
#   59|   		return strcmp(str1, str2) == 0;
#   60|   	return str1 == str2;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def37]
libinput-1.28.1/redhat-linux-build/../src/util-strings.h:328:9: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:114:1: enter_function: entry to ‘strv_from_string’
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:116:9: branch_true: following ‘true’ branch (when ‘in’ is non-NULL)...
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:117:9: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:117:9: branch_true: following ‘true’ branch (when ‘separators’ is non-NULL)...
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:118:9: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:118:9: branch_true: following ‘true’ branch (when ‘num_elements’ is non-NULL)...
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:120:21: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:122:16: call_function: calling ‘next_word’ from ‘strv_from_string’
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:122:16: return_function: returning to ‘strv_from_string’ from ‘next_word’
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:122:16: branch_true: following ‘true’ branch...
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:123:17: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:122:16: call_function: calling ‘next_word’ from ‘strv_from_string’
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:122:16: return_function: returning to ‘strv_from_string’ from ‘next_word’
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:122:16: branch_false: following ‘false’ branch...
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:125:12: branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:125:12: branch_false: following ‘false’ branch (when ‘nelems != 0’)...
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:130:16: branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:131:23: call_function: calling ‘zalloc’ from ‘strv_from_string’
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:131:23: return_function: returning to ‘strv_from_string’ from ‘zalloc’
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:136:24: call_function: calling ‘next_word’ from ‘strv_from_string’
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:136:24: return_function: returning to ‘strv_from_string’ from ‘next_word’
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:136:16: branch_true: following ‘true’ branch...
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:137:30: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:138:20: branch_false: following ‘false’ branch (when ‘copy’ is non-NULL)...
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:144:22: branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:136:24: call_function: calling ‘next_word’ from ‘strv_from_string’
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:136:24: return_function: returning to ‘strv_from_string’ from ‘next_word’
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:136:16: branch_true: following ‘true’ branch...
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:137:30: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:138:20: branch_false: following ‘false’ branch (when ‘copy’ is non-NULL)...
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:144:22: branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:136:24: call_function: calling ‘next_word’ from ‘strv_from_string’
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:136:24: return_function: returning to ‘strv_from_string’ from ‘next_word’
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:136:16: branch_true: following ‘true’ branch...
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:137:30: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:137:30: acquire_memory: allocated here
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:138:20: branch_false: following ‘false’ branch (when ‘copy’ is non-NULL)...
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:144:22: branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:136:24: call_function: calling ‘next_word’ from ‘strv_from_string’
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:136:24: return_function: returning to ‘strv_from_string’ from ‘next_word’
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:136:16: branch_true: following ‘true’ branch...
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:137:30: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:138:20: branch_true: following ‘true’ branch (when ‘copy’ is NULL)...
 branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../src/util-strings.c:139:25: call_function: inlined call to ‘strv_free’ from ‘strv_from_string’
#  326|   	}
#  327|   
#  328|-> 	free (strv);
#  329|   }
#  330|   

Error: GCC_ANALYZER_WARNING: [#def38]
libinput-1.28.1/redhat-linux-build/../test/litest-runner.c:333:13: warning[-Wanalyzer-fd-use-without-check]: ‘dup2’ on possibly invalid file descriptor ‘-1’
libinput-1.28.1/redhat-linux-build/../test/litest-runner.c:939:1: enter_function: entry to ‘litest_runner_run_tests’
libinput-1.28.1/redhat-linux-build/../test/litest-runner.c:965:9: branch_true: following ‘true’ branch...
libinput-1.28.1/redhat-linux-build/../test/litest-runner.c:966:25: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../test/litest-runner.c:966:25: call_function: calling ‘litest_runner_run_test’ from ‘litest_runner_run_tests’
#  331|   	sigaction(SIGALRM, &act, NULL);
#  332|   
#  333|-> 	r = dup2(write_fds[FD_STDERR], STDERR_FILENO);
#  334|   	litest_assert_errno_success(r);
#  335|   	setlinebuf(stderr);

Error: GCC_ANALYZER_WARNING: [#def39]
libinput-1.28.1/redhat-linux-build/../test/litest-runner.c:336:13: warning[-Wanalyzer-fd-use-without-check]: ‘dup2’ on possibly invalid file descriptor ‘-1’
libinput-1.28.1/redhat-linux-build/../test/litest-runner.c:939:1: enter_function: entry to ‘litest_runner_run_tests’
libinput-1.28.1/redhat-linux-build/../test/litest-runner.c:965:9: branch_true: following ‘true’ branch...
libinput-1.28.1/redhat-linux-build/../test/litest-runner.c:966:25: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../test/litest-runner.c:966:25: call_function: calling ‘litest_runner_run_test’ from ‘litest_runner_run_tests’
#  334|   	litest_assert_errno_success(r);
#  335|   	setlinebuf(stderr);
#  336|-> 	r = dup2(write_fds[FD_STDOUT], STDOUT_FILENO);
#  337|   	litest_assert_errno_success(r);
#  338|   	setlinebuf(stdout);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def40]
libinput-1.28.1/redhat-linux-build/../test/litest.c:847:22: warning[-Wanalyzer-malloc-leak]: leak of ‘zalloc(80)’
libinput-1.28.1/redhat-linux-build/../test/litest.c:853:1: enter_function: entry to ‘litest_add_tcase_for_device_with_params’
libinput-1.28.1/redhat-linux-build/../test/litest.c:870:9: call_function: calling ‘litest_parameters_permutations’ from ‘litest_add_tcase_for_device_with_params’
#  845|   	t->params = params;
#  846|   
#  847|-> 	list_append(&data->suite->tests, &t->node);
#  848|   
#  849|   	return 0;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def41]
libinput-1.28.1/redhat-linux-build/../test/test-quirks.c:64:22: warning[-Wanalyzer-malloc-leak]: leak of ‘safe_strdup(&dirname)’
libinput-1.28.1/redhat-linux-build/../test/test-quirks.c:1581:1: enter_function: entry to ‘quirks_ctx_ref’
libinput-1.28.1/redhat-linux-build/../test/test-quirks.c:1588:30: call_function: calling ‘make_data_dir’ from ‘quirks_ctx_ref’
#   62|   		litest_assert_int_eq(rc, (int)(strlen(dirname) + 16));
#   63|   
#   64|-> 		fp = fopen(filename, "w+");
#   65|   #ifndef __clang_analyzer__
#   66|   		litest_assert_notnull(fp);

Error: GCC_ANALYZER_WARNING (CWE-688): [#def42]
libinput-1.28.1/redhat-linux-build/../test/test-quirks.c:70:22: warning[-Wanalyzer-null-argument]: use of NULL ‘fopen(filename, "w+")’ where non-null expected
libinput-1.28.1/redhat-linux-build/../test/test-quirks.c:1581:1: enter_function: entry to ‘quirks_ctx_ref’
libinput-1.28.1/redhat-linux-build/../test/test-quirks.c:1588:30: call_function: calling ‘make_data_dir’ from ‘quirks_ctx_ref’
#   68|   		assert(fp);
#   69|   #endif
#   70|-> 		rc = fputs(file_content, fp);
#   71|   		litest_assert_errno_success(rc);
#   72|   		fclose(fp);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def43]
libinput-1.28.1/redhat-linux-build/../test/test-quirks.c:71:17: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(filename, "w+")’
libinput-1.28.1/redhat-linux-build/../test/test-quirks.c:1581:1: enter_function: entry to ‘quirks_ctx_ref’
libinput-1.28.1/redhat-linux-build/../test/test-quirks.c:1588:30: call_function: calling ‘make_data_dir’ from ‘quirks_ctx_ref’
#   69|   #endif
#   70|   		rc = fputs(file_content, fp);
#   71|-> 		litest_assert_errno_success(rc);
#   72|   		fclose(fp);
#   73|   		dir.filename = filename;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def44]
libinput-1.28.1/redhat-linux-build/../test/test-quirks.c:71:17: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(filename, "w+")’
libinput-1.28.1/redhat-linux-build/../test/test-quirks.c:1581:1: enter_function: entry to ‘quirks_ctx_ref’
libinput-1.28.1/redhat-linux-build/../test/test-quirks.c:1588:30: call_function: calling ‘make_data_dir’ from ‘quirks_ctx_ref’
#   69|   #endif
#   70|   		rc = fputs(file_content, fp);
#   71|-> 		litest_assert_errno_success(rc);
#   72|   		fclose(fp);
#   73|   		dir.filename = filename;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def45]
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1229:25: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1192:1: enter_function: entry to ‘double_array_from_string_test’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1220:16: branch_true: following ‘true’ branch...
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1222:33: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1222:33: call_function: calling ‘double_array_from_string’ from ‘double_array_from_string_test’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1222:33: return_function: returning to ‘double_array_from_string_test’ from ‘double_array_from_string’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1227:38: branch_true: following ‘true’ branch (when ‘idx < _a’)...
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1228:25: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1228:25: branch_true: following ‘true’ branch...
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1228:25: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1229:25: release_memory: ‘0’ is NULL
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1229:25: danger: dereference of NULL ‘double_array_from_string(*t.string, *t.delim, & len) + idx * 8’
# 1227|   		for (size_t idx = 0; idx < len; idx++) {
# 1228|   			litest_assert_ptr_notnull(array);
# 1229|-> 			litest_assert_double_eq(array[idx], t->array[idx]);
# 1230|   		}
# 1231|   

Error: GCC_ANALYZER_WARNING (CWE-415): [#def46]
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1790:17: warning[-Wanalyzer-double-free]: double-‘free’ of ‘compare’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1727:1: enter_function: entry to ‘stringbuf_test’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1734:9: branch_false: following ‘false’ branch (when ‘_a == 0’)...
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1736:14: branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1736:14: call_function: calling ‘stringbuf_append_string’ from ‘stringbuf_test’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1736:14: return_function: returning to ‘stringbuf_test’ from ‘stringbuf_append_string’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1737:9: branch_false: following ‘false’ branch...
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1738:14: branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1738:14: call_function: calling ‘stringbuf_append_string’ from ‘stringbuf_test’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1738:14: return_function: returning to ‘stringbuf_test’ from ‘stringbuf_append_string’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1739:9: branch_false: following ‘false’ branch...
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1740:14: branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1740:14: call_function: calling ‘stringbuf_append_string’ from ‘stringbuf_test’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1740:14: return_function: returning to ‘stringbuf_test’ from ‘stringbuf_append_string’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1741:9: branch_false: following ‘false’ branch...
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1742:9: branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1742:9: call_function: calling ‘streq’ from ‘stringbuf_test’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1742:9: return_function: returning to ‘stringbuf_test’ from ‘streq’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1743:9: branch_false: following ‘false’ branch (when ‘_a == 9’)...
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1745:14: call_function: inlined call to ‘stringbuf_ensure_space’ from ‘stringbuf_test’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1745:14: call_function: inlined call to ‘stringbuf_ensure_space’ from ‘stringbuf_test’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1746:9: branch_false: following ‘false’ branch...
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1747:9: branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1747:9: branch_false: following ‘false’ branch (when ‘_a > 499’)...
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1749:14: branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1749:14: call_function: calling ‘stringbuf_ensure_size’ from ‘stringbuf_test’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1749:14: return_function: returning to ‘stringbuf_test’ from ‘stringbuf_ensure_size’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1750:9: branch_false: following ‘false’ branch...
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1751:14: branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1751:14: call_function: calling ‘stringbuf_ensure_size’ from ‘stringbuf_test’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1751:14: return_function: returning to ‘stringbuf_test’ from ‘stringbuf_ensure_size’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1752:9: branch_false: following ‘false’ branch...
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1753:9: branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1753:9: branch_false: following ‘false’ branch (when ‘_a > 1023’)...
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1755:22: call_function: inlined call to ‘stringbuf_steal’ from ‘stringbuf_test’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1756:9: call_function: calling ‘streq’ from ‘stringbuf_test’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1756:9: return_function: returning to ‘stringbuf_test’ from ‘streq’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1757:9: branch_false: following ‘false’ branch (when ‘_a == 0’)...
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1758:9: branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1758:9: branch_false: following ‘false’ branch (when ‘_a == 0’)...
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1759:9: branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1759:9: release_memory: first ‘free’ here
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1759:9: branch_false: following ‘false’ branch (when ‘_a’ is NULL)...
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1760:9: branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1763:14: call_function: calling ‘stringbuf_append_string’ from ‘stringbuf_test’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1763:14: return_function: returning to ‘stringbuf_test’ from ‘stringbuf_append_string’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1764:9: branch_false: following ‘false’ branch...
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1765:9: branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1765:9: call_function: calling ‘streq’ from ‘stringbuf_test’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1765:9: return_function: returning to ‘stringbuf_test’ from ‘streq’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1766:9: branch_false: following ‘false’ branch (when ‘_a == 10’)...
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1767:9: call_function: inlined call to ‘stringbuf_reset’ from ‘stringbuf_test’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1774:9: branch_false: following ‘false’ branch (when ‘rc >= 0’)...
 branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1778:25: branch_true: following ‘true’ branch (when ‘i != 100’)...
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1779:22: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1780:17: branch_false: following ‘false’ branch (when ‘rc >= 0’)...
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1782:22: branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1782:22: call_function: calling ‘stringbuf_append_from_fd’ from ‘stringbuf_test’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1782:22: return_function: returning to ‘stringbuf_test’ from ‘stringbuf_append_from_fd’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1783:17: branch_false: following ‘false’ branch...
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1786:22: branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1786:22: branch_false: following ‘false’ branch (when ‘compare’ is NULL)...
 branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1786:22: call_function: calling ‘xasprintf’ from ‘stringbuf_test’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1786:22: return_function: returning to ‘stringbuf_test’ from ‘xasprintf’
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1787:17: branch_false: following ‘false’ branch...
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1788:17: branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../test/test-utils.c:1790:17: danger: second ‘free’ here; first ‘free’ was at [(149)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/148)
# 1788|   		litest_assert_str_eq(b->data, expected);
# 1789|   
# 1790|-> 		free(compare);
# 1791|   		compare = expected;
# 1792|   	}

Error: GCC_ANALYZER_WARNING (CWE-476): [#def47]
libinput-1.28.1/redhat-linux-build/../tools/libinput-record.c:2828:32: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘p’
libinput-1.28.1/redhat-linux-build/../tools/libinput-record.c:2689:1: enter_function: entry to ‘main’
libinput-1.28.1/redhat-linux-build/../tools/libinput-record.c:2804:32: call_function: calling ‘safe_strdup’ from ‘main’
libinput-1.28.1/redhat-linux-build/../tools/libinput-record.c:2804:32: return_function: returning to ‘main’ from ‘safe_strdup’
libinput-1.28.1/redhat-linux-build/../tools/libinput-record.c:2806:12: branch_false: following ‘false’ branch...
libinput-1.28.1/redhat-linux-build/../tools/libinput-record.c:2814:12: branch_false: ...to here
libinput-1.28.1/redhat-linux-build/../tools/libinput-record.c:2814:12: branch_true: following ‘true’ branch (when ‘all != 0’)...
libinput-1.28.1/redhat-linux-build/../tools/libinput-record.c:2815:25: branch_true: ...to here
libinput-1.28.1/redhat-linux-build/../tools/libinput-record.c:2815:25: call_function: calling ‘all_devices’ from ‘main’
libinput-1.28.1/redhat-linux-build/../tools/libinput-record.c:2815:25: return_function: returning to ‘main’ from ‘all_devices’
libinput-1.28.1/redhat-linux-build/../tools/libinput-record.c:2828:32: danger: dereference of NULL ‘p’
# 2826|   	}
# 2827|   
# 2828|-> 	for (char **p = paths; *p; p++) {
# 2829|   		if (!init_device(&ctx, *p, grab)) {
# 2830|   			goto out;

Error: COMPILER_WARNING (CWE-477): [#def48]
libinput-1.28.1/src/evdev-tablet.c: scope_hint: In function ‘tool_set_bits_from_libwacom’
libinput-1.28.1/src/evdev-tablet.c:1051:9: warning[-Wdeprecated-declarations]: ‘libwacom_stylus_get_for_id’ is deprecated
# 1051 |         s = libwacom_stylus_get_for_id(db, tool->tool_id);
#      |         ^
libinput-1.28.1/src/libinput-private.h:35: included_from: Included from here.
libinput-1.28.1/src/evdev.h:36: included_from: Included from here.
libinput-1.28.1/src/evdev-tablet.h:28: included_from: Included from here.
libinput-1.28.1/src/evdev-tablet.c:25: included_from: Included from here.
/usr/include/libwacom-1.0/libwacom/libwacom.h:922:20: note: declared here
#  922 | const WacomStylus *libwacom_stylus_get_for_id (const WacomDeviceDatabase *db, int id);
#      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
# 1049|   		return rc;
# 1050|   
# 1051|-> 	s = libwacom_stylus_get_for_id(db, tool->tool_id);
# 1052|   	if (!s)
# 1053|   		return rc;

Error: COMPILER_WARNING (CWE-477): [#def49]
libinput-1.28.1/src/evdev-tablet.c: scope_hint: In function ‘tablet_is_aes’
libinput-1.28.1/src/evdev-tablet.c:2840:17: warning[-Wdeprecated-declarations]: ‘libwacom_get_supported_styli’ is deprecated
# 2840 |                 const int *stylus_ids = libwacom_get_supported_styli(wacom, &nstyli);
#      |                 ^~~~~
/usr/include/libwacom-1.0/libwacom/libwacom.h:703:12: note: declared here
#  703 | const int *libwacom_get_supported_styli(const WacomDevice *device, int *num_styli);
#      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 2838|   	if (wacom && vid == VENDOR_ID_WACOM) {
# 2839|   		int nstyli;
# 2840|-> 		const int *stylus_ids = libwacom_get_supported_styli(wacom, &nstyli);
# 2841|   		for (int i = 0; i < nstyli; i++) {
# 2842|   			if (stylus_ids[i] == 0x11) {

Error: CPPCHECK_WARNING (CWE-476): [#def50]
libinput-1.28.1/src/util-stringbuf.h:41: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: b
#   39|   stringbuf_init(struct stringbuf *b)
#   40|   {
#   41|-> 	b->len = 0;
#   42|   	b->sz = 64;
#   43|   	b->data = calloc(1, b->sz);

Error: CPPCHECK_WARNING (CWE-476): [#def51]
libinput-1.28.1/src/util-stringbuf.h:42: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: b
#   40|   {
#   41|   	b->len = 0;
#   42|-> 	b->sz = 64;
#   43|   	b->data = calloc(1, b->sz);
#   44|   }

Error: CPPCHECK_WARNING (CWE-476): [#def52]
libinput-1.28.1/src/util-stringbuf.h:43: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: b
#   41|   	b->len = 0;
#   42|   	b->sz = 64;
#   43|-> 	b->data = calloc(1, b->sz);
#   44|   }
#   45|   

Error: CPPCHECK_WARNING (CWE-476): [#def53]
libinput-1.28.1/test/test-quirks.c:70: warning[nullPointerOutOfResources]: If resource allocation fails, then there is a possible null pointer dereference: fp
#   68|   		assert(fp);
#   69|   #endif
#   70|-> 		rc = fputs(file_content, fp);
#   71|   		litest_assert_errno_success(rc);
#   72|   		fclose(fp);

Error: CPPCHECK_WARNING (CWE-476): [#def54]
libinput-1.28.1/test/test-quirks.c:72: warning[nullPointerOutOfResources]: If resource allocation fails, then there is a possible null pointer dereference: fp
#   70|   		rc = fputs(file_content, fp);
#   71|   		litest_assert_errno_success(rc);
#   72|-> 		fclose(fp);
#   73|   		dir.filename = filename;
#   74|   	}

Error: COMPILER_WARNING (CWE-252): [#def55]
libinput-1.28.1/tools/libinput-record.c: scope_hint: In function ‘signalfd_dispatch’
libinput-1.28.1/tools/libinput-record.c:2154:15: warning[-Wunused-result]: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’
# 2154 |         (void)read(fd, &fdsi, sizeof(fdsi));
#      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 2152|   	struct signalfd_siginfo fdsi;
# 2153|   
# 2154|-> 	(void)read(fd, &fdsi, sizeof(fdsi));
# 2155|   
# 2156|   	ctx->stop = true;

Error: COMPILER_WARNING (CWE-252): [#def56]
libinput-1.28.1/tools/libinput-record.c: scope_hint: In function ‘timefd_dispatch’
libinput-1.28.1/tools/libinput-record.c:2164:15: warning[-Wunused-result]: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’
# 2164 |         (void)read(fd, discard, sizeof(discard));
#      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 2162|   	char discard[64];
# 2163|   
# 2164|-> 	(void)read(fd, discard, sizeof(discard));
# 2165|   
# 2166|   	if (ctx->timestamps.had_events_since_last_time) {

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-87.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-namelibinput-1.28.1-1.fc43
store-results-to/tmp/tmpf_qk6cm6/libinput-1.28.1-1.fc43.tar.xz
time-created2025-04-25 14:03:40
time-finished2025-04-25 14:05:53
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'unicontrol,cppcheck,gcc,clippy,shellcheck' '-o' '/tmp/tmpf_qk6cm6/libinput-1.28.1-1.fc43.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpf_qk6cm6/libinput-1.28.1-1.fc43.src.rpm'
tool-versioncsmock-3.8.1.20250422.172604.g26bc3d6-1.el9