core/executor: save argv for later use by rename_process()

Partially fixes #30352
This commit is contained in:
Mike Yuan
2023-12-08 21:14:11 +08:00
parent c0e82e3a23
commit b041175e08

View File

@@ -6,6 +6,7 @@
#include "sd-messages.h"
#include "alloc-util.h"
#include "argv-util.h"
#include "build.h"
#include "exec-invoke.h"
#include "execute-serialize.h"
@@ -191,6 +192,11 @@ int main(int argc, char *argv[]) {
exec_context_init(&context);
cgroup_context_init(&cgroup_context);
/* We use safe_fork() for spawning sd-pam helper process, which internally calls rename_process().
* As the last step of renaming, all saved argvs are memzero()-ed. Hence, we need to save the argv
* first to prevent showing "intense" cmdline. See #30352. */
save_argc_argv(argc, argv);
/* We might be starting the journal itself, we'll be told by the caller what to do */
log_set_always_reopen_console(true);
log_set_prohibit_ipc(true);