[input] Plug some potential UB

More "null pointer but zero size", but with library code, who knows?
This commit is contained in:
Bill Currie 2024-09-24 11:28:59 +09:00
parent f4d8af400e
commit 9713e7764c
2 changed files with 9 additions and 2 deletions

View file

@ -121,6 +121,9 @@ devid_cmp (const void *a, const void *b)
static int * __attribute__ ((pure))
in_find_devid (int devid)
{
if (!known_devices.size) {
return nullptr;
}
return bsearch (&devid, known_devices.a, known_devices.size,
sizeof (int), devid_cmp);
}

View file

@ -1247,7 +1247,9 @@ in_x11_axis_info (void *data, void *device, in_axisinfo_t *axes, int *numaxes)
if (*numaxes > dev->num_axes) {
*numaxes = dev->num_axes;
}
memcpy (axes, dev->axes, *numaxes * sizeof (in_axisinfo_t));
if (dev->num_axes) {
memcpy (axes, dev->axes, *numaxes * sizeof (in_axisinfo_t));
}
}
static void
@ -1262,7 +1264,9 @@ in_x11_button_info (void *data, void *device, in_buttoninfo_t *buttons,
if (*numbuttons > dev->num_buttons) {
*numbuttons = dev->num_buttons;
}
memcpy (buttons, dev->buttons, *numbuttons * sizeof (in_buttoninfo_t));
if (dev->num_buttons) {
memcpy (buttons, dev->buttons, *numbuttons * sizeof (in_buttoninfo_t));
}
}
static const char *