]> git.ipfire.org Git - thirdparty/shadow.git/commitdiff
Remove some static char arrays
authorSamanta Navarro <ferivoz@riseup.net>
Tue, 9 May 2023 11:59:20 +0000 (11:59 +0000)
committerSerge Hallyn <serge@hallyn.com>
Thu, 11 May 2023 16:05:29 +0000 (11:05 -0500)
Some strings are first written into static char arrays before passed to
functions which expect a const char pointer anyway.

It is easier to pass these strings directly as arguments.

Signed-off-by: Samanta Navarro <ferivoz@riseup.net>
libmisc/setupenv.c
src/sulogin.c

index f644dad3778c54ebe1ef3e3bae31ec3b7607d833..b30dae34ab4d364eed9b75ad889051e9faf18619 100644 (file)
@@ -196,8 +196,6 @@ void setup_env (struct passwd *info)
         */
 
        if (chdir (info->pw_dir) == -1) {
-               static char temp_pw_dir[] = "/";
-
                if (!getdef_bool ("DEFAULT_HOME") || chdir ("/") == -1) {
                        fprintf (log_get_logfd(), _("Unable to cd to '%s'\n"),
                                 info->pw_dir);
@@ -209,7 +207,7 @@ void setup_env (struct passwd *info)
                }
                (void) puts (_("No directory, logging in with HOME=/"));
                free (info->pw_dir);
-               info->pw_dir = xstrdup (temp_pw_dir);
+               info->pw_dir = xstrdup ("/");
        }
 
        /*
@@ -223,10 +221,8 @@ void setup_env (struct passwd *info)
         */
 
        if ((NULL == info->pw_shell) || ('\0' == *info->pw_shell)) {
-               static char temp_pw_shell[] = SHELL;
-
                free (info->pw_shell);
-               info->pw_shell = xstrdup (temp_pw_shell);
+               info->pw_shell = xstrdup (SHELL);
        }
 
        addenv ("SHELL", info->pw_shell);
index 002dc9304a1747a2b6a288e969f6e96a78b65e16..080b92f107e51d182cb7a2e5c1f007cd6af01ec0 100644 (file)
@@ -29,7 +29,6 @@
  */
 const char *Prog;
 
-static char name[BUFSIZ];
 static char pass[BUFSIZ];
 
 static struct passwd pwent;
@@ -119,14 +118,12 @@ static void catch_signals (unused int sig)
        }
 #endif                         /* !USE_PAM */
 
-       (void) strcpy (name, "root");   /* KLUDGE!!! */
-
        (void) signal (SIGALRM, catch_signals); /* exit if the timer expires */
        (void) alarm (ALARM);           /* only wait so long ... */
 
        while (true) {          /* repeatedly get login/password pairs */
                char *cp;
-               pw_entry (name, &pwent);        /* get entry from password file */
+               pw_entry ("root", &pwent);      /* get entry from password file */
                if (pwent.pw_name == NULL) {
                        /*
                         * Fail secure