aboutsummaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
Diffstat (limited to 'libbb')
-rw-r--r--libbb/pw_encrypt.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/libbb/pw_encrypt.c b/libbb/pw_encrypt.c
index 39ffa084f..bfc7030a8 100644
--- a/libbb/pw_encrypt.c
+++ b/libbb/pw_encrypt.c
@@ -142,7 +142,14 @@ char* FAST_FUNC pw_encrypt(const char *clear, const char *salt, int cleanup)
142 142
143char* FAST_FUNC pw_encrypt(const char *clear, const char *salt, int cleanup) 143char* FAST_FUNC pw_encrypt(const char *clear, const char *salt, int cleanup)
144{ 144{
145 return xstrdup(crypt(clear, salt)); 145 char *s;
146
147 s = crypt(clear, salt);
148 /*
149 * glibc used to return "" on malformed salts (for example, ""),
150 * but since 2.17 it returns NULL.
151 */
152 return xstrdup(s ? s : "");
146} 153}
147 154
148#endif 155#endif