From 7f9071cab071a0d27937f32c7ab76f019b3d8135 Mon Sep 17 00:00:00 2001 From: miod <> Date: Sat, 5 Nov 2016 13:02:34 +0000 Subject: Do not leak the ressources possibly allocated by EVP_MD_CTX_init() in the trivial error path of PKCS12_key_gen_uni(). ok beck@ jsing@ --- src/lib/libcrypto/pkcs12/p12_key.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/lib') diff --git a/src/lib/libcrypto/pkcs12/p12_key.c b/src/lib/libcrypto/pkcs12/p12_key.c index 38f8a8194c..891f764c23 100644 --- a/src/lib/libcrypto/pkcs12/p12_key.c +++ b/src/lib/libcrypto/pkcs12/p12_key.c @@ -1,4 +1,4 @@ -/* $OpenBSD: p12_key.c,v 1.23 2015/09/10 15:56:25 jsing Exp $ */ +/* $OpenBSD: p12_key.c,v 1.24 2016/11/05 13:02:34 miod Exp $ */ /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL * project 1999. */ @@ -107,11 +107,12 @@ PKCS12_key_gen_uni(unsigned char *pass, int passlen, unsigned char *salt, BIGNUM *Ij, *Bpl1; /* These hold Ij and B + 1 */ EVP_MD_CTX ctx; - EVP_MD_CTX_init(&ctx); v = EVP_MD_block_size(md_type); u = EVP_MD_size(md_type); if (u < 0) return 0; + + EVP_MD_CTX_init(&ctx); D = malloc(v); Ai = malloc(u); B = malloc(v + 1); -- cgit v1.2.3-55-g6feb