]> git.ipfire.org Git - thirdparty/shadow.git/commitdiff
Use freezero(3) where suitable
authorAlejandro Colomar <alx@kernel.org>
Wed, 1 Feb 2023 19:29:29 +0000 (20:29 +0100)
committerIker Pedrosa <ikerpedrosam@gmail.com>
Thu, 2 Feb 2023 11:04:28 +0000 (12:04 +0100)
It originated in OpenBSD, and is available in libbsd.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
libmisc/agetpass.c
libmisc/obscure.c

index f4aad7a302e9218c52b6121303465cd82cee3562..63ee49a4deffdcb16c022cfeb50b17b73b0bd0c6 100644 (file)
@@ -136,8 +136,7 @@ agetpass(const char *prompt)
        return pass;
 
 fail:
-       memzero(pass, PASS_MAX);
-       free(pass);
+       freezero(pass, PASS_MAX);
        return NULL;
 }
 
@@ -145,8 +144,5 @@ fail:
 void
 erase_pass(char *pass)
 {
-       if (pass == NULL)
-               return;
-       memzero(pass, PASS_MAX);
-       free(pass);
+       freezero(pass, PASS_MAX);
 }
index f3b7096d926d923f4a09ec9c2c4ea0c052de9262..6f7f33cf78cae607265f75a6891f1adeafc867d7 100644 (file)
@@ -274,10 +274,8 @@ static /*@observer@*//*@null@*/const char *obscure_msg (
 
        msg = password_check (old1, new1, pwdp);
 
-       memzero (new1, newlen);
-       memzero (old1, oldlen);
-       free (new1);
-       free (old1);
+       freezero (new1, newlen);
+       freezero (old1, oldlen);
 
        return msg;
 }