• John Chadwick's avatar
    test: Make udev_properties array fixed-size. · a7d2b749
    John Chadwick authored
    The udev_properties array is currently variable length, which causes the
    tests to invoke undefined behavior on empty lists, as it attempts to
    access the first array item to check if the key is NULL, which is an out
    of bounds read and will fail when the struct alignment happens to line
    up such that there is no padding after the list in the empty list case.
    
    By making the udev_properties array 32 items long, it can encapsulate
    every existing case, with only a fairly small amount of memory overhead,
    and without requiring every single `TEST_DEVICE` call to initialize
    `udev_properties`.
    
    (cherry picked from commit b71a1b6e)
    a7d2b749
Name
Last commit
Last update
..
50-litest.conf Loading commit data...
build-cxx.cc Loading commit data...
build-pedantic.c Loading commit data...
check-double-macros.h Loading commit data...
check-leftover-udev-rules.sh Loading commit data...
generate-gcov-report.sh Loading commit data...
helper-copy-and-exec-from-tmp.sh Loading commit data...
libinput-test-suite.man Loading commit data...
litest-device-acer-hawaii-keyboard.c Loading commit data...
litest-device-acer-hawaii-touchpad.c Loading commit data...
litest-device-aiptek-tablet.c Loading commit data...
litest-device-alps-dualpoint.c Loading commit data...
litest-device-alps-semi-mt.c Loading commit data...
litest-device-anker-mouse-kbd.c Loading commit data...
litest-device-apple-appletouch.c Loading commit data...
litest-device-apple-internal-keyboard.c Loading commit data...
litest-device-apple-magicmouse.c Loading commit data...
litest-device-asus-rog-gladius.c Loading commit data...
litest-device-atmel-hover.c Loading commit data...
litest-device-bcm5974.c Loading commit data...
litest-device-calibrated-touchscreen.c Loading commit data...
litest-device-cyborg-rat-5.c Loading commit data...
litest-device-dell-canvas-totem-touch.c Loading commit data...
litest-device-dell-canvas-totem.c Loading commit data...
litest-device-elantech-touchpad.c Loading commit data...
litest-device-generic-singletouch.c Loading commit data...
litest-device-gpio-keys.c Loading commit data...
litest-device-hp-wmi-hotkeys.c Loading commit data...
litest-device-huion-pentablet.c Loading commit data...
litest-device-ignored-mouse.c Loading commit data...
litest-device-keyboard-all-codes.c Loading commit data...
litest-device-keyboard-razer-blackwidow.c Loading commit data...
litest-device-keyboard-razer-blade-stealth-videoswitch.c Loading commit data...
litest-device-keyboard-razer-blade-stealth.c Loading commit data...
litest-device-keyboard.c Loading commit data...
litest-device-lid-switch-surface3.c Loading commit data...
litest-device-lid-switch.c Loading commit data...
litest-device-logitech-trackball.c Loading commit data...
litest-device-magic-trackpad.c Loading commit data...
litest-device-mouse-low-dpi.c Loading commit data...
litest-device-mouse-roccat.c Loading commit data...
litest-device-mouse-wheel-click-angle.c Loading commit data...
litest-device-mouse-wheel-click-count.c Loading commit data...
litest-device-mouse-wheel-tilt.c Loading commit data...
litest-device-mouse.c Loading commit data...
litest-device-ms-nano-transceiver-mouse.c Loading commit data...
litest-device-ms-surface-cover.c Loading commit data...
litest-device-nexus4-touch-screen.c Loading commit data...
litest-device-protocol-a-touch-screen.c Loading commit data...
litest-device-qemu-usb-tablet.c Loading commit data...
litest-device-synaptics-hover.c Loading commit data...
litest-device-synaptics-i2c.c Loading commit data...
litest-device-synaptics-rmi4.c Loading commit data...
litest-device-synaptics-st.c Loading commit data...
litest-device-synaptics-t440.c Loading commit data...
litest-device-synaptics-x1-carbon-3rd.c Loading commit data...
litest-device-synaptics-x220.c Loading commit data...
litest-device-thinkpad-extrabuttons.c Loading commit data...
litest-device-touch-screen.c Loading commit data...
litest-device-touchscreen-fuzz.c Loading commit data...
litest-device-touchscreen-invalid-range.c Loading commit data...
litest-device-touchscreen-mt-tool.c Loading commit data...
litest-device-trackpoint.c Loading commit data...
litest-device-uclogic-tablet.c Loading commit data...
litest-device-vmware-virtual-usb-mouse.c Loading commit data...
litest-device-wacom-bamboo-16fg-pen.c Loading commit data...
litest-device-wacom-bamboo-2fg-finger.c Loading commit data...
litest-device-wacom-bamboo-2fg-pad.c Loading commit data...
litest-device-wacom-bamboo-2fg-pen.c Loading commit data...
litest-device-wacom-cintiq-12wx-pen.c Loading commit data...
litest-device-wacom-cintiq-13hdt-finger.c Loading commit data...
litest-device-wacom-cintiq-13hdt-pad.c Loading commit data...
litest-device-wacom-cintiq-13hdt-pen.c Loading commit data...
litest-device-wacom-cintiq-24hd-pen.c Loading commit data...
litest-device-wacom-cintiq-24hdt-pad.c Loading commit data...
litest-device-wacom-cintiq-pro-16-finger.c Loading commit data...
litest-device-wacom-cintiq-pro-16-pad.c Loading commit data...
litest-device-wacom-cintiq-pro-16-pen.c Loading commit data...
litest-device-wacom-ekr.c Loading commit data...
litest-device-wacom-hid4800-pen.c Loading commit data...
litest-device-wacom-intuos3-pad.c Loading commit data...
litest-device-wacom-intuos5-finger.c Loading commit data...
litest-device-wacom-intuos5-pad.c Loading commit data...
litest-device-wacom-intuos5-pen.c Loading commit data...
litest-device-wacom-isdv4-4200-pen.c Loading commit data...
litest-device-wacom-isdv4-e6-finger.c Loading commit data...
litest-device-wacom-isdv4-e6-pen.c Loading commit data...
litest-device-wacom-mobilestudio-pro-pad.c Loading commit data...
litest-device-waltop-tablet.c Loading commit data...
litest-device-wheel-only.c Loading commit data...
litest-device-xen-virtual-pointer.c Loading commit data...
litest-device-yubikey.c Loading commit data...
litest-int.h Loading commit data...
litest-selftest.c Loading commit data...
litest.c Loading commit data...
litest.h Loading commit data...
symbols-leak-test Loading commit data...
test-builddir-lookup.c Loading commit data...
test-device.c Loading commit data...
test-gestures.c Loading commit data...
test-keyboard.c Loading commit data...
test-library-version.c Loading commit data...
test-log.c Loading commit data...
test-misc.c Loading commit data...
test-pad.c Loading commit data...
test-path.c Loading commit data...
test-pointer.c Loading commit data...
test-quirks.c Loading commit data...
test-switch.c Loading commit data...
test-tablet.c Loading commit data...
test-totem.c Loading commit data...
test-touch.c Loading commit data...
test-touchpad-buttons.c Loading commit data...
test-touchpad-tap.c Loading commit data...
test-touchpad.c Loading commit data...
test-trackball.c Loading commit data...
test-trackpoint.c Loading commit data...
test-udev.c Loading commit data...
test-utils.c Loading commit data...
valgrind.suppressions Loading commit data...