diff options
Diffstat (limited to '')
-rw-r--r-- | libbb/pw_encrypt_sha.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/libbb/pw_encrypt_sha.c b/libbb/pw_encrypt_sha.c index 5457d7ab6..695a5c07f 100644 --- a/libbb/pw_encrypt_sha.c +++ b/libbb/pw_encrypt_sha.c | |||
@@ -84,8 +84,7 @@ sha_crypt(/*const*/ char *key_data, /*const*/ char *salt_data) | |||
84 | as a scratch space later. */ | 84 | as a scratch space later. */ |
85 | salt_data = xstrndup(salt_data, salt_len); | 85 | salt_data = xstrndup(salt_data, salt_len); |
86 | /* add "salt$" to result */ | 86 | /* add "salt$" to result */ |
87 | strcpy(resptr, salt_data); | 87 | resptr = stpcpy(resptr, salt_data); |
88 | resptr += salt_len; | ||
89 | *resptr++ = '$'; | 88 | *resptr++ = '$'; |
90 | /* key data doesn't need much processing */ | 89 | /* key data doesn't need much processing */ |
91 | key_len = strlen(key_data); | 90 | key_len = strlen(key_data); |
@@ -198,7 +197,7 @@ sha_crypt(/*const*/ char *key_data, /*const*/ char *salt_data) | |||
198 | #define b64_from_24bit(B2, B1, B0, N) \ | 197 | #define b64_from_24bit(B2, B1, B0, N) \ |
199 | do { \ | 198 | do { \ |
200 | unsigned w = ((B2) << 16) | ((B1) << 8) | (B0); \ | 199 | unsigned w = ((B2) << 16) | ((B1) << 8) | (B0); \ |
201 | resptr = to64(resptr, w, N); \ | 200 | resptr = num2str64_lsb_first(resptr, w, N); \ |
202 | } while (0) | 201 | } while (0) |
203 | if (_32or64 == 32) { /* sha256 */ | 202 | if (_32or64 == 32) { /* sha256 */ |
204 | unsigned i = 0; | 203 | unsigned i = 0; |