]> git.ipfire.org Git - thirdparty/shadow.git/commitdiff
lib/pwauth.c: Simplify empty string
authorAlejandro Colomar <alx@kernel.org>
Fri, 1 Sep 2023 23:49:00 +0000 (01:49 +0200)
committerSerge Hallyn <serge@hallyn.com>
Mon, 4 Sep 2023 13:57:18 +0000 (08:57 -0500)
And do not set 'clear' to point to the empty string.  After this commit,
'clear' only stores the result of getpass(3).  This will be useful to
change the code to use agetpass().

$ grep '\<clear\>' lib/pwauth.c;
char *clear = NULL;
clear = getpass (prompt);
input = (clear == NULL) ? "" : clear;
clear = getpass (prompt);
input = (clear == NULL) ? "" : clear;
if (NULL != clear) {
strzero (clear);

Signed-off-by: Alejandro Colomar <alx@kernel.org>
lib/pwauth.c

index c6bb1f49e045fe1cdd8dded4f60923c69583820d..965cb141209efb14749f7052a27c99433c966d30 100644 (file)
@@ -138,13 +138,7 @@ int pw_auth (const char *cipher,
 
                snprintf (prompt, sizeof prompt, cp, user);
                clear = getpass (prompt);
-               if (NULL == clear) {
-                       static char c[1];
-
-                       c[0] = '\0';
-                       clear = c;
-               }
-               input = clear;
+               input = (clear == NULL) ? "" : clear;
        }
 
        /*
@@ -171,13 +165,7 @@ int pw_auth (const char *cipher,
         */
        if ((0 != retval) && ('\0' == input[0]) && use_skey) {
                clear = getpass (prompt);
-               if (NULL == clear) {
-                       static char c[1];
-
-                       c[0] = '\0';
-                       clear = c;
-               }
-               input = clear;
+               input = (clear == NULL) ? "" : clear;
        }
 
        if ((0 != retval) && use_skey) {