You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.4 KiB
33 lines
1.4 KiB
From ce046ce7f8545d174dc8ecb45b27c2049d96f935 Mon Sep 17 00:00:00 2001 |
|
From: Colin Guthrie <colin@mageia.org> |
|
Date: Mon, 14 Mar 2016 09:42:07 +0000 |
|
Subject: [PATCH] device: Ensure we have sysfs path before comparing. |
|
|
|
In some cases we do not have a udev device when setting up a unit |
|
(certainly the code gracefully handles this). However, we do |
|
then go on to compare the path via path_equal which will assert |
|
if a null value is passed in. |
|
|
|
See https://bugs.mageia.org/show_bug.cgi?id=17766 |
|
|
|
Not sure if this is the correct fix, but it avoids the crash |
|
|
|
Cherry-picked from: 5e1558f4a09e596561c9168384f2258e7c0718a1 |
|
Resolves: #1332606 |
|
--- |
|
src/core/device.c | 2 +- |
|
1 file changed, 1 insertion(+), 1 deletion(-) |
|
|
|
diff --git a/src/core/device.c b/src/core/device.c |
|
index fc73e263ab..bdc8466abc 100644 |
|
--- a/src/core/device.c |
|
+++ b/src/core/device.c |
|
@@ -319,7 +319,7 @@ static int device_setup_unit(Manager *m, struct udev_device *dev, const char *pa |
|
* the GC to have garbaged it. That's desired since the device |
|
* unit may have a dependency on the mount unit which was |
|
* added during the loading of the later. */ |
|
- if (u && DEVICE(u)->state == DEVICE_PLUGGED) { |
|
+ if (sysfs && u && DEVICE(u)->state == DEVICE_PLUGGED) { |
|
/* This unit is in plugged state: we're sure it's |
|
* attached to a device. */ |
|
if (!path_equal(DEVICE(u)->sysfs, sysfs)) {
|
|
|