From 89c4da43cbe8cfbbd949f523944343391c5302a2 Mon Sep 17 00:00:00 2001 From: Alejandro Colomar Date: Thu, 7 Mar 2024 23:38:48 +0100 Subject: [PATCH] src/vipw.c: Use string literals to initialize 'Prog' This avoids using argv[0], which is controlled by the user, and might inject arbitrary text in stderr and the logs. Link: Link: Cc: "Skyler Ferrante (RIT Student)" Cc: "Serge E. Hallyn" Cc: Karel Zak Cc: Iker Pedrosa Cc: Christian Brauner Signed-off-by: Alejandro Colomar --- src/vipw.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/vipw.c b/src/vipw.c index 609ac1bfc..c30b32dee 100644 --- a/src/vipw.c +++ b/src/vipw.c @@ -55,7 +55,7 @@ /* * Global variables */ -const char *Prog; +static const char *Prog; static const char *filename, *fileeditname; static bool filelocked = false; @@ -471,7 +471,9 @@ int main (int argc, char **argv) bool editshadow = false; bool do_vigr; - Prog = Basename (argv[0]); + do_vigr = (strcmp(Basename(argv[0]), "vigr") == 0); + + Prog = do_vigr ? "vigr" : "vipw"; log_set_progname(Prog); log_set_logfd(stderr); @@ -481,9 +483,7 @@ int main (int argc, char **argv) process_root_flag ("-R", argc, argv); - do_vigr = (strcmp(Prog, "vigr") == 0); - - OPENLOG(do_vigr ? "vigr" : "vipw"); + OPENLOG(Prog); { /* -- 2.47.2