From f78e7ca7da3527863c3d7b310dbf2469cafcea8b Mon Sep 17 00:00:00 2001 From: Mike Yuan Date: Thu, 30 Oct 2025 15:20:33 +0100 Subject: [PATCH] core/execute: serialize fd_names only if there're fds to pass --- src/core/execute-serialize.c | 8 ++++---- src/core/execute.c | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/core/execute-serialize.c b/src/core/execute-serialize.c index b7667b00a7..e8bc55462d 100644 --- a/src/core/execute-serialize.c +++ b/src/core/execute-serialize.c @@ -1105,11 +1105,11 @@ static int exec_parameters_serialize(const ExecParameters *p, const ExecContext r = serialize_fd_many(f, fds, "exec-parameters-fds", p->fds, p->n_socket_fds + p->n_storage_fds + p->n_extra_fds); if (r < 0) return r; - } - r = serialize_strv(f, "exec-parameters-fd-names", p->fd_names); - if (r < 0) - return r; + r = serialize_strv(f, "exec-parameters-fd-names", p->fd_names); + if (r < 0) + return r; + } if (p->flags != 0) { r = serialize_item_format(f, "exec-parameters-flags", "%u", (unsigned) p->flags); diff --git a/src/core/execute.c b/src/core/execute.c index db91bc0a58..e0c0421a21 100644 --- a/src/core/execute.c +++ b/src/core/execute.c @@ -487,7 +487,7 @@ int exec_spawn( assert(context); assert(params); assert(!params->fds || FLAGS_SET(params->flags, EXEC_PASS_FDS)); - assert(params->fds || (params->n_socket_fds + params->n_storage_fds + params->n_extra_fds == 0)); + assert(params->fds || (params->n_socket_fds + params->n_storage_fds + params->n_extra_fds == 0 && !params->fd_names)); assert(!params->files_env); /* We fill this field, ensure it comes NULL-initialized to us */ assert(ret);