libbb: move nuke_str() from passwd into libbb

function                                             old     new   delta
nuke_str                                               -      15     +15
ask_and_check_password_extended                      215     206      -9
init_main                                            781     771     -10
nuke_str                                              27       -     -27
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 0/2 up/down: 15/-46)            Total: -31 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko
2013-11-19 13:36:45 +01:00
parent 6ef7729112
commit 8b59b2c13e
4 changed files with 15 additions and 10 deletions

View File

@ -30,6 +30,15 @@
#include "libbb.h"
void FAST_FUNC nuke_str(char *str)
{
if (str) {
while (*str)
*str++ = 0;
/* or: memset(str, 0, strlen(str)); - not as small as above */
}
}
/* Ask the user for a password.
* Return 1 without asking if PW has an empty password.
* Return -1 on EOF, error while reading input, or timeout.
@ -76,7 +85,7 @@ int FAST_FUNC ask_and_check_password_extended(const struct passwd *pw,
encrypted = pw_encrypt(unencrypted, correct, 1);
r = (strcmp(encrypted, correct) == 0);
free(encrypted);
memset(unencrypted, 0, strlen(unencrypted));
nuke_str(unencrypted);
return r;
}