From: Zbigniew Jędrzejewski-Szmek Date: Fri, 20 May 2022 12:53:22 +0000 (+0200) Subject: portabled: refuse queries for empty image name X-Git-Tag: v251~6^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4313e2b69fe1bcddd7b551e171f1fa3554155968;p=thirdparty%2Fsystemd.git portabled: refuse queries for empty image name I took inspiration from pid1: bus_unit_find() → find_unit() → manager_load_unit_from_dbus_path() → unit_name_from_dbus_path() → !startswith(path, "/org/freedesktop/systemd1/unit/") → return -EINVAL ← ← ← ← if (r < 0) return 0 ← 0 ← i.e. we return 0 when queried for "/org/freedesktop/systemd1/unit". Fixes #23445. --- diff --git a/src/portable/portabled-image-bus.c b/src/portable/portabled-image-bus.c index 3fe0eca4c5a..7d69d776ebd 100644 --- a/src/portable/portabled-image-bus.c +++ b/src/portable/portabled-image-bus.c @@ -1120,6 +1120,9 @@ int bus_image_object_find( return 0; if (r == 0) goto not_found; + if (isempty(e)) + /* The path is "/org/freedesktop/portable1/image" itself */ + goto not_found; r = bus_image_acquire(m, sd_bus_get_current_message(bus), e, NULL, BUS_IMAGE_REFUSE_BY_PATH, NULL, &image, error); if (r == -ENOENT)