From: Zbigniew Jędrzejewski-Szmek Date: Mon, 7 Dec 2015 05:10:15 +0000 (-0500) Subject: udev: fix NULL deref when executing rules X-Git-Tag: v229~230^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9eba69df1cd37c564e414165fd6e6314543427d9;p=thirdparty%2Fsystemd.git 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 --- diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c index 2ef8bfe59e8..8d601c9c2c4 100644 --- a/src/udev/udev-event.c +++ b/src/udev/udev-event.c @@ -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,