diff options
author | Dave Reisner <d@falconindy.com> | 2016-11-27 17:05:39 -0500 |
---|---|---|
committer | Martin Pitt <martin.pitt@ubuntu.com> | 2016-11-27 23:05:39 +0100 |
commit | d112eae7da77899be245ab52aa1747d4675549f1 (patch) | |
tree | 527fed8b63073acd3117eb09464e5f0d617fa9bb /src/core | |
parent | a748a0169a11ed0803fd5b1df6f8eb1c4af61803 (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')
-rw-r--r-- | src/core/device.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/core/device.c b/src/core/device.c index 074e93ffe2..8e2e3c7bed 100644 --- a/src/core/device.c +++ b/src/core/device.c @@ -359,7 +359,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; |