udev: fix NULL deref when executing rules

We quite obviously check whether event->dev_db is nonnull, and
right after that call a function which asserts the same. Move
the call under the same if.

https://bugzilla.redhat.com/show_bug.cgi?id=1283971
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2015-12-07 00:10:15 -05:00
parent 90b33a2746
commit 9eba69df1c

View file

@ -848,11 +848,11 @@ void udev_event_execute_rules(struct udev_event *event,
/* disable watch during event processing */
if (major(udev_device_get_devnum(dev)) != 0)
udev_watch_end(event->udev, event->dev_db);
}
if (major(udev_device_get_devnum(dev)) == 0 &&
streq(udev_device_get_action(dev), "move"))
udev_device_copy_properties(dev, event->dev_db);
if (major(udev_device_get_devnum(dev)) == 0 &&
streq(udev_device_get_action(dev), "move"))
udev_device_copy_properties(dev, event->dev_db);
}
udev_rules_apply_to_event(rules, event,
timeout_usec, timeout_warn_usec,