projects
/
oweals
/
openssl.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
4bfe143
)
Fix a memory leak in the ClientHello extension parsing
author
Matt Caswell
<matt@openssl.org>
Mon, 31 Oct 2016 12:48:37 +0000
(12:48 +0000)
committer
Matt Caswell
<matt@openssl.org>
Wed, 9 Nov 2016 09:10:29 +0000
(09:10 +0000)
We should be freeing up the raw extension data after we've finished with it.
Reviewed-by: Kurt Roeckx <kurt@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
ssl/statem/statem_srvr.c
patch
|
blob
|
history
diff --git
a/ssl/statem/statem_srvr.c
b/ssl/statem/statem_srvr.c
index c7841ac48efdb841383386c9537d5827b6dfba23..ca7f5afe4b581badadc55ce43901c7baaf87c9ea 100644
(file)
--- a/
ssl/statem/statem_srvr.c
+++ b/
ssl/statem/statem_srvr.c
@@
-907,6
+907,8
@@
MSG_PROCESS_RETURN tls_process_client_hello(SSL *s, PACKET *pkt)
* structure.
*/
+ memset(&clienthello, 0, sizeof(clienthello));
+
clienthello.isv2 = RECORD_LAYER_is_sslv2_record(&s->rlayer);
PACKET_null_init(&cookie);
@@
-1423,6
+1425,7
@@
MSG_PROCESS_RETURN tls_process_client_hello(SSL *s, PACKET *pkt)
}
sk_SSL_CIPHER_free(ciphers);
+ OPENSSL_free(clienthello.pre_proc_exts);
return MSG_PROCESS_CONTINUE_PROCESSING;
f_err:
ssl3_send_alert(s, SSL3_AL_FATAL, al);
@@
-1430,6
+1433,7
@@
MSG_PROCESS_RETURN tls_process_client_hello(SSL *s, PACKET *pkt)
ossl_statem_set_error(s);
sk_SSL_CIPHER_free(ciphers);
+ OPENSSL_free(clienthello.pre_proc_exts);
return MSG_PROCESS_ERROR;
}