out_buf[0] = '$';
out_buf[1] = 0;
assert(strlen(magic) <= 4); /* "1" or "apr1" */
- strncat(out_buf, magic, 4);
- strncat(out_buf, "$", 1);
- strncat(out_buf, salt, 8);
+ OPENSSL_strlcat(out_buf, magic, sizeof out_buf);
+ OPENSSL_strlcat(out_buf, "$", sizeof out_buf);
+ OPENSSL_strlcat(out_buf, salt, sizeof out_buf);
assert(strlen(out_buf) <= 6 + 8); /* "$apr1$..salt.." */
salt_out = out_buf + 2 + strlen(magic);
salt_len = strlen(salt_out);
assert(salt_len <= 8);
- md = EVP_MD_CTX_create();
+ md = EVP_MD_CTX_new();
if (md == NULL)
return NULL;
EVP_DigestInit_ex(md, EVP_md5(), NULL);
EVP_DigestUpdate(md, "$", 1);
EVP_DigestUpdate(md, salt_out, salt_len);
- md2 = EVP_MD_CTX_create();
+ md2 = EVP_MD_CTX_new();
if (md2 == NULL)
return NULL;
EVP_DigestInit_ex(md2, EVP_md5(), NULL);
(i & 1) ? sizeof buf : passwd_len);
EVP_DigestFinal_ex(md2, buf, NULL);
}
- EVP_MD_CTX_destroy(md2);
- EVP_MD_CTX_destroy(md);
+ EVP_MD_CTX_free(md2);
+ EVP_MD_CTX_free(md);
{
/* transform buf into output string */