From aea2f059a3b9f79b4c3e5e5178cd69d2727139a1 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 22 Oct 2025 09:44:56 +0200 Subject: [PATCH] tree-wide: use setenvf() more, where appropriate --- src/libsystemd/sd-varlink/sd-varlink.c | 12 +++++------- src/mountfsd/mountfsd-manager.c | 15 ++++++--------- src/nsresourced/nsresourced-manager.c | 15 ++++++--------- 3 files changed, 17 insertions(+), 25 deletions(-) diff --git a/src/libsystemd/sd-varlink/sd-varlink.c b/src/libsystemd/sd-varlink/sd-varlink.c index 7a5d2008c97..f55112d1c49 100644 --- a/src/libsystemd/sd-varlink/sd-varlink.c +++ b/src/libsystemd/sd-varlink/sd-varlink.c @@ -9,6 +9,7 @@ #include "sd-varlink.h" #include "alloc-util.h" +#include "env-util.h" #include "errno-list.h" #include "errno-util.h" #include "escape.h" @@ -269,18 +270,15 @@ _public_ int sd_varlink_connect_exec(sd_varlink **ret, const char *_command, cha uint64_t pidfdid; if (pidfd_get_inode_id_self_cached(&pidfdid) >= 0) { - char spidfdid[DECIMAL_STR_MAX(uint64_t)+1]; - xsprintf(spidfdid, "%" PRIu64, pidfdid); - - if (setenv("LISTEN_PIDFDID", spidfdid, /* override= */ true) < 0) { - log_debug_errno(errno, - "Failed to set environment variable 'LISTEN_PIDFDID': %m"); + r = setenvf("LISTEN_PIDFDID", /* overwrite= */ true, "%" PRIu64, pidfdid); + if (r < 0) { + log_debug_errno(r, "Failed to set environment variable 'LISTEN_PIDFDID': %m"); _exit(EXIT_FAILURE); } } STRV_FOREACH_PAIR(a, b, setenv_list) { - if (setenv(*a, *b, /* override= */ true) < 0) { + if (setenv(*a, *b, /* overwrite= */ true) < 0) { log_debug_errno(errno, "Failed to set environment variable '%s': %m", *a); _exit(EXIT_FAILURE); } diff --git a/src/mountfsd/mountfsd-manager.c b/src/mountfsd/mountfsd-manager.c index 89e5a5aca2c..bebf4104f67 100644 --- a/src/mountfsd/mountfsd-manager.c +++ b/src/mountfsd/mountfsd-manager.c @@ -142,7 +142,6 @@ static int start_one_worker(Manager *m) { if (r < 0) return log_error_errno(r, "Failed to fork new worker child: %m"); if (r == 0) { - char pids[DECIMAL_STR_MAX(pid_t)]; /* Child */ if (m->listen_fd == 3) { @@ -160,19 +159,17 @@ static int start_one_worker(Manager *m) { safe_close(m->listen_fd); } - xsprintf(pids, PID_FMT, pid); - if (setenv("LISTEN_PID", pids, 1) < 0) { - log_error_errno(errno, "Failed to set $LISTEN_PID: %m"); + r = setenvf("LISTEN_PID", /* overwrite= */ true, PID_FMT, pid); + if (r < 0) { + log_error_errno(r, "Failed to set $LISTEN_PID: %m"); _exit(EXIT_FAILURE); } uint64_t pidfdid; if (pidfd_get_inode_id_self_cached(&pidfdid) >= 0) { - char pidfdids[DECIMAL_STR_MAX(uint64_t)]; - - xsprintf(pidfdids, "%" PRIu64, pidfdid); - if (setenv("LISTEN_PIDFDID", pidfdids, 1) < 0) { - log_error_errno(errno, "Failed to set $LISTEN_PIDFDID: %m"); + r = setenvf("LISTEN_PIDFDID", /* overwrite= */ true, "%" PRIu64, pidfdid); + if (r < 0) { + log_error_errno(r, "Failed to set $LISTEN_PIDFDID: %m"); _exit(EXIT_FAILURE); } } diff --git a/src/nsresourced/nsresourced-manager.c b/src/nsresourced/nsresourced-manager.c index e57797503b2..96e63cdea16 100644 --- a/src/nsresourced/nsresourced-manager.c +++ b/src/nsresourced/nsresourced-manager.c @@ -178,7 +178,6 @@ static int start_one_worker(Manager *m) { if (r < 0) return log_error_errno(r, "Failed to fork new worker child: %m"); if (r == 0) { - char pids[DECIMAL_STR_MAX(pid_t)]; /* Child */ if (m->listen_fd == 3) { @@ -196,19 +195,17 @@ static int start_one_worker(Manager *m) { safe_close(m->listen_fd); } - xsprintf(pids, PID_FMT, pid); - if (setenv("LISTEN_PID", pids, 1) < 0) { - log_error_errno(errno, "Failed to set $LISTEN_PID: %m"); + r = setenvf("LISTEN_PID", /* overwrite= */ true, PID_FMT, pid); + if (r < 0) { + log_error_errno(r, "Failed to set $LISTEN_PID: %m"); _exit(EXIT_FAILURE); } uint64_t pidfdid; if (pidfd_get_inode_id_self_cached(&pidfdid) >= 0) { - char pidfdids[DECIMAL_STR_MAX(uint64_t)]; - - xsprintf(pidfdids, "%" PRIu64, pidfdid); - if (setenv("LISTEN_PIDFDID", pidfdids, 1) < 0) { - log_error_errno(errno, "Failed to set $LISTEN_PIDFDID: %m"); + r = setenvf("LISTEN_PIDFDID", /* overwrite= */ true, "%" PRIu64, pidfdid); + if (r < 0) { + log_error_errno(r, "Failed to set $LISTEN_PIDFDID: %m"); _exit(EXIT_FAILURE); } } -- 2.47.3