From 198c4e575e177ae5458238e7b474361506a6f302 Mon Sep 17 00:00:00 2001 From: Jeremy Kerr Date: Mon, 13 May 2013 10:08:47 +0800 Subject: discover: Allow devices with no device_path Devices that have been added via the user path may not have a device path. In this case, don't segfault in device_match_path, and break out of mount_device early. Signed-off-by: Jeremy Kerr --- discover/device-handler.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'discover/device-handler.c') diff --git a/discover/device-handler.c b/discover/device-handler.c index 43171eb..2396124 100644 --- a/discover/device-handler.c +++ b/discover/device-handler.c @@ -235,6 +235,9 @@ static int mount_device(struct discover_device *dev) { const char *argv[6]; + if (!dev->device_path) + return -1; + if (!dev->mount_path) dev->mount_path = join_paths(dev, mount_base(), dev->device_path); @@ -576,7 +579,7 @@ void device_handler_destroy(struct device_handler *handler) static int device_match_path(struct discover_device *dev, const char *path) { - return !strcmp(dev->device_path, path); + return dev->device_path && !strcmp(dev->device_path, path); } static int device_match_uuid(struct discover_device *dev, const char *uuid) -- cgit v1.2.1