From: Yu Watanabe Date: Sat, 22 Dec 2018 18:06:47 +0000 (+0900) Subject: sd-device: fix segfault when error occurs in device_new_from_{nulstr,strv}() X-Git-Tag: v241-rc1~122^2~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=18fee12a2d489378a2a9b647db0d0eb8c43f5362;p=thirdparty%2Fsystemd.git 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. Fixes #11258. --- diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c index db58615df53..9b1ef444803 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;