projects
/
openssl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
5816586
)
Fix a memleak in tls13_generate_secret.
author
Bernd Edlinger
<bernd.edlinger@hotmail.de>
Mon, 12 Jun 2017 17:30:10 +0000
(19:30 +0200)
committer
Rich Salz
<rsalz@openssl.org>
Mon, 12 Jun 2017 19:15:04 +0000
(15:15 -0400)
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3660)
ssl/tls13_enc.c
patch
|
blob
|
history
diff --git
a/ssl/tls13_enc.c
b/ssl/tls13_enc.c
index 27634753824d1966cd84cfe28fb42f5293ee8f8f..bc1995e21f392c5382b2dbabb98b98d3213bc49b 100644
(file)
--- a/
ssl/tls13_enc.c
+++ b/
ssl/tls13_enc.c
@@
-148,6
+148,7
@@
int tls13_generate_secret(SSL *s, const EVP_MD *md,
|| EVP_DigestInit_ex(mctx, md, NULL) <= 0
|| EVP_DigestFinal_ex(mctx, hash, NULL) <= 0) {
EVP_MD_CTX_free(mctx);
+ EVP_PKEY_CTX_free(pctx);
return 0;
}
EVP_MD_CTX_free(mctx);
@@
-156,8
+157,10
@@
int tls13_generate_secret(SSL *s, const EVP_MD *md,
if (!tls13_hkdf_expand(s, md, prevsecret,
(unsigned char *)derived_secret_label,
sizeof(derived_secret_label) - 1, hash,
- preextractsec, mdlen))
+ preextractsec, mdlen)) {
+ EVP_PKEY_CTX_free(pctx);
return 0;
+ }
prevsecret = preextractsec;
prevsecretlen = mdlen;