Commit 003ac9d0 authored by Harald Hoyer's avatar Harald Hoyer

core/device.c: fix possible segfault

https://bugs.freedesktop.org/show_bug.cgi?id=63189

better fail than segfault

systemd[1]: Failed to load device unit: Invalid argument
systemd[1]: Failed to process udev device event: Invalid argument
parent aa21e2bf
......@@ -312,6 +312,7 @@ fail:
static int device_process_new_device(Manager *m, struct udev_device *dev, bool update_state) {
const char *sysfs, *dn;
struct udev_list_entry *item = NULL, *first = NULL;
int r;
assert(m);
......@@ -319,7 +320,9 @@ static int device_process_new_device(Manager *m, struct udev_device *dev, bool u
return -ENOMEM;
/* Add the main unit named after the sysfs path */
device_update_unit(m, dev, sysfs, true);
r = device_update_unit(m, dev, sysfs, true);
if (r < 0)
return r;
/* Add an additional unit for the device node */
if ((dn = udev_device_get_devnode(dev)))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment