From 9fbbd7bf28e5362b786e152a9ce4e8bd40621759 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 3 Feb 2023 18:29:36 +0900 Subject: [PATCH] argv-util: also update program_invocation_short_name Our logging uses program_invocation_short_name. Without this patch, logs from forked client may become broken; spuriously truncated or the short invocation name is not completely shown in the log. (cherry picked from commit dd15e4cb57129b915e01495e113696bfe0b70214) (cherry picked from commit ce4726468dc02bd7383cd7d90c8769576c6973e3) (cherry picked from commit 7a862d9d1a7196a5576720959849f45fc68b041c) --- src/basic/process-util.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/basic/process-util.c b/src/basic/process-util.c index c971852158..a5ad24cc5c 100644 --- a/src/basic/process-util.c +++ b/src/basic/process-util.c @@ -368,6 +368,10 @@ int rename_process(const char name[]) { strncpy(program_invocation_name, name, k); if (l > k) truncated = true; + + /* Also update the short name. */ + char *p = strrchr(program_invocation_name, '/'); + program_invocation_short_name = p ? p + 1 : program_invocation_name; } /* Third step, completely replace the argv[] array the kernel maintains for us. This requires privileges, but