From 7bdc7ff0bb2d1dde1a81b2cbc76e424d1c50b7aa Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Wed, 23 Jun 2021 18:10:57 +0200 Subject: [PATCH] dbus-socket: fix check of Listen* arguments We checked the wrong field, which was always NULL here, so we would always reject the assignment. We would also print the wrong string in the error message: $ sudo systemd-run --socket-property ListenFIFO=/tmp/fifo3 cat Failed to start transient socket unit: Invalid socket path: FIFO (cherry picked from commit aeecab3804aae973577f36880af4b7799e4eb7d5) (cherry picked from commit 78fb13b38572f6649f1e9822ef6acb8ca4952c12) --- src/core/dbus-socket.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/dbus-socket.c b/src/core/dbus-socket.c index 2c9da7412a1..2953d381143 100644 --- a/src/core/dbus-socket.c +++ b/src/core/dbus-socket.c @@ -383,8 +383,8 @@ static int bus_socket_set_transient_property( return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Unknown Socket type: %s", t); if (p->type != SOCKET_SOCKET) { - if (!path_is_valid(p->path)) - return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid socket path: %s", t); + if (!path_is_valid(a)) + return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid socket path: %s", a); p->path = strdup(a); if (!p->path) -- 2.47.3