From 73814ca287cafcfa488f7ac85b25bc8584334db3 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Thu, 22 Aug 2013 17:03:29 -0400 Subject: Revert "udevd: simplify sigterm check" This reverts commit 47e737dc13bf4251ae5a2249ec29b34503ed92e1 - it introduced a use-after-free. The only way the code would get simpler is with a cleanup function, but eh, not worth it for just this one bit. Reviewed by kay on IRC. --- src/udev/udevd.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/udev/udevd.c b/src/udev/udevd.c index fd799cc910..7c6c5d6a87 100644 --- a/src/udev/udevd.c +++ b/src/udev/udevd.c @@ -314,10 +314,12 @@ static void worker_new(struct event *event) udev_device_unref(dev); dev = NULL; - udev_event_unref(udev_event); - - if (udev_event->sigterm) + if (udev_event->sigterm) { + udev_event_unref(udev_event); goto out; + } + + udev_event_unref(udev_event); /* wait for more device messages from main udevd, or term signal */ while (dev == NULL) { -- cgit v1.2.3-54-g00ecf