X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=libbb%2Fobscure.c;h=19b87523ec6c5a6f17f52dd1d461d4c0ea65de57;hb=d7171c114028815df4e92f9c26875f1d60c6af2a;hp=5cc906235e80243f96bd0d2e9252a4fdb89f1c12;hpb=6bef3d1d2216234454875052220ca0f477a820b4;p=oweals%2Fbusybox.git diff --git a/libbb/obscure.c b/libbb/obscure.c index 5cc906235..19b87523e 100644 --- a/libbb/obscure.c +++ b/libbb/obscure.c @@ -93,7 +93,7 @@ static const char *obscure_msg(const char *old_p, const char *new_p, const struc /* Add 2 for each type of characters to the minlen of password */ int size = CONFIG_PASSWORD_MINLEN + 8; const char *p; - char hostname[255]; + char *hostname; /* size */ if (!new_p || (length = strlen(new_p)) < CONFIG_PASSWORD_MINLEN) @@ -108,12 +108,11 @@ static const char *obscure_msg(const char *old_p, const char *new_p, const struc return "similar to gecos"; } /* hostname as-is, as sub-string, reversed, capitalized, doubled */ - if (gethostname(hostname, 255) == 0) { - hostname[254] = '\0'; - if (string_checker(new_p, hostname)) { - return "similar to hostname"; - } - } + hostname = safe_gethostname(); + i = string_checker(new_p, hostname); + free(hostname); + if (i) + return "similar to hostname"; /* Should / Must contain a mix of: */ for (i = 0; i < length; i++) { @@ -158,7 +157,7 @@ static const char *obscure_msg(const char *old_p, const char *new_p, const struc return NULL; } -int obscure(const char *old, const char *newval, const struct passwd *pw) +int FAST_FUNC obscure(const char *old, const char *newval, const struct passwd *pw) { const char *msg;