summaryrefslogtreecommitdiff
path: root/src/core/device.c
diff options
context:
space:
mode:
authorDave Reisner <d@falconindy.com>2016-11-27 17:05:39 -0500
committerLuke Shumaker <lukeshu@sbcglobal.net>2016-12-17 00:24:43 -0500
commit49e5f27c53a1a1716a8e660fb27cfbfe8ea67de5 (patch)
tree3fb792713eab01cde7e8d1592d87ad141ac0e25d /src/core/device.c
parent2eaef25e43b8df349906b50ff95c4df383b7ba5a (diff)
device: Avoid calling unit_free(NULL) in device setup logic (#4748)
Since a581e45ae8f9bb5c, there's a few function calls to unit_new_for_name which will unit_free on failure. Prior to this commit, a failure would result in calling unit_free with a NULL unit, and hit an assertion failure, seen at least via device_setup_unit: Assertion 'u' failed at src/core/unit.c:519, function unit_free(). Aborting. Fixes #4747 https://bugs.archlinux.org/task/51950
Diffstat (limited to 'src/core/device.c')
-rw-r--r--src/core/device.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/core/device.c b/src/core/device.c
index bd87a447cd..4b9e84aeb6 100644
--- a/src/core/device.c
+++ b/src/core/device.c
@@ -365,7 +365,7 @@ static int device_setup_unit(Manager *m, struct udev_device *dev, const char *pa
fail:
log_unit_warning_errno(u, r, "Failed to set up device unit: %m");
- if (delete)
+ if (delete && u)
unit_free(u);
return r;