diff options
-rw-r--r-- | libbb/correct_password.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/libbb/correct_password.c b/libbb/correct_password.c index 6301589e6..7cabd33d0 100644 --- a/libbb/correct_password.c +++ b/libbb/correct_password.c | |||
@@ -41,12 +41,6 @@ int FAST_FUNC correct_password(const struct passwd *pw) | |||
41 | char *unencrypted, *encrypted; | 41 | char *unencrypted, *encrypted; |
42 | const char *correct; | 42 | const char *correct; |
43 | int r; | 43 | int r; |
44 | #if ENABLE_FEATURE_SHADOWPASSWDS | ||
45 | /* Using _r function to avoid pulling in static buffers */ | ||
46 | struct spwd spw; | ||
47 | char buffer[256]; | ||
48 | #endif | ||
49 | |||
50 | /* fake salt. crypt() can choke otherwise. */ | 44 | /* fake salt. crypt() can choke otherwise. */ |
51 | correct = "aa"; | 45 | correct = "aa"; |
52 | if (!pw) { | 46 | if (!pw) { |
@@ -55,7 +49,10 @@ int FAST_FUNC correct_password(const struct passwd *pw) | |||
55 | } | 49 | } |
56 | correct = pw->pw_passwd; | 50 | correct = pw->pw_passwd; |
57 | #if ENABLE_FEATURE_SHADOWPASSWDS | 51 | #if ENABLE_FEATURE_SHADOWPASSWDS |
52 | /* Using _r function to avoid pulling in static buffers */ | ||
58 | if ((correct[0] == 'x' || correct[0] == '*') && !correct[1]) { | 53 | if ((correct[0] == 'x' || correct[0] == '*') && !correct[1]) { |
54 | struct spwd spw; | ||
55 | char buffer[256]; | ||
59 | /* getspnam_r may return 0 yet set result to NULL. | 56 | /* getspnam_r may return 0 yet set result to NULL. |
60 | * At least glibc 2.4 does this. Be extra paranoid here. */ | 57 | * At least glibc 2.4 does this. Be extra paranoid here. */ |
61 | struct spwd *result = NULL; | 58 | struct spwd *result = NULL; |