evdev: prevent unterminated device name

The kernel copies up to sizeof(devname) bytes but doesn't null-terminate the
string if the device name exceeds the size of the supplied buffer.
This commit is contained in:
Peter Hutterer 2013-08-07 11:04:41 +10:00 committed by Kristian Høgsberg
parent 3ca59d3968
commit 11f5bfbc09

View file

@ -575,6 +575,7 @@ evdev_device_create(struct weston_seat *seat, const char *path, int device_fd)
device->fd = device_fd;
ioctl(device->fd, EVIOCGNAME(sizeof(devname)), devname);
devname[sizeof(devname) - 1] = '\0';
device->devname = strdup(devname);
if (!evdev_handle_device(device)) {