From 19b1a0f24a781235393b30aff23127efa7a242d7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Wed, 5 May 2021 17:02:49 +0200 Subject: [PATCH] sd-device: reject empty driver name If ":" was the last char in the string, we would call access() on ".../drivers/", which would pass. It probably doesn't matter, but let's reject this anyway. (cherry picked from commit 52a89a5f08230439f07c043d59ded1270842137b) (cherry picked from commit 92e5ba438d48a798807104d8aed4e480c58c6465) --- src/libsystemd/sd-device/sd-device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c index 0d1a6c583c..64c83d2a84 100644 --- a/src/libsystemd/sd-device/sd-device.c +++ b/src/libsystemd/sd-device/sd-device.c @@ -275,7 +275,7 @@ _public_ int sd_device_new_from_subsystem_sysname(sd_device **ret, const char *s const char *subsys, *sep; sep = strchr(sysname, ':'); - if (sep) { + if (sep && sep[1] != '\0') { /* Require ":" and something non-empty after that. */ subsys = memdupa_suffix0(sysname, sep - sysname); if (snprintf_ok(syspath, sizeof syspath, "/sys/subsystem/%s/drivers/%s", subsys, sep + 1) && -- 2.25.1