From 0948e9011f1dc836b9126ef810b0e84d49961c35 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Sun, 23 Dec 2018 03:06:47 +0900 Subject: [PATCH] sd-device: fix segfault when error occurs in device_new_from_{nulstr,strv}() As devpath may not be set yet. When debug logging is enabled, log_device_*() calls sd_device_get_sysname(). So, we should not assume that devpath is always set. Gbp-Pq: Topic debian Gbp-Pq: Name sd-device-fix-segfault-when-error-occurs-in-device_new_fr.patch --- src/libsystemd/sd-device/sd-device.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c index db58615d..9b1ef444 100644 --- a/src/libsystemd/sd-device/sd-device.c +++ b/src/libsystemd/sd-device/sd-device.c @@ -1002,6 +1002,9 @@ static int device_set_sysname(sd_device *device) { const char *pos; size_t len = 0; + if (!device->devpath) + return -EINVAL; + pos = strrchr(device->devpath, '/'); if (!pos) return -EINVAL; -- 2.30.2