libbb: don't die if crypt() returns NULL
No binary (build failed)
—
(log yok)
| @@ -142,7 +142,14 @@ char* FAST_FUNC pw_encrypt(const char *clear, const char *salt, int cleanup) | |
| char* FAST_FUNC pw_encrypt(const char *clear, const char *salt, int cleanup) | |
| { | |
| - | return xstrdup(crypt(clear, salt)); |
| + | char *s; |
| + | |
| + | s = crypt(clear, salt); |
| + | /* |
| + | * glibc used to return "" on malformed salts (for example, ""), |
| + | * but since 2.17 it returns NULL. |
| + | */ |
| + | return xstrdup(s ? s : ""); |
| } | |
| #endif | |