summaryrefslogtreecommitdiffstats
path: root/src/udev
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2015-12-07 06:10:15 +0100
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2015-12-07 06:44:14 +0100
commit9eba69df1cd37c564e414165fd6e6314543427d9 (patch)
treeedf0e577261e4bfb64fd4fc61f5c6df7a40584c9 /src/udev
parentlibudev: simplify udev_device_ensure_usec_initialized a bit (diff)
downloadsystemd-9eba69df1cd37c564e414165fd6e6314543427d9.tar.xz
systemd-9eba69df1cd37c564e414165fd6e6314543427d9.zip
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
Diffstat (limited to 'src/udev')
-rw-r--r--src/udev/udev-event.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
index 2ef8bfe59e..8d601c9c2c 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,