Commit
8e588e28 fixed a leak but introduced a new one.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
pem_password_cb *cb, void *u)
{
int outlen = 24, pklen;
- unsigned char *p, *salt = NULL;
+ unsigned char *p = NULL, *salt = NULL;
EVP_CIPHER_CTX *cctx = NULL;
if (enclevel)
outlen += PVK_SALTLEN;
cctx = EVP_CIPHER_CTX_new();
if (cctx == NULL)
- return -1;
+ goto error;
write_ledword(&p, MS_PVKMAGIC);
write_ledword(&p, 0);
error:
EVP_CIPHER_CTX_free(cctx);
+ if (*out == NULL)
+ OPENSSL_free(p);
return -1;
}