aboutsummaryrefslogtreecommitdiffstats
path: root/ssl
diff options
context:
space:
mode:
authorBenjamin Kaduk <bkaduk@akamai.com>2017-01-23 16:59:23 -0600
committerRichard Levitte <levitte@openssl.org>2017-02-23 19:24:36 +0100
commit26f426846ec3798a27f19600f05e4e41446d5b4f (patch)
tree0e11b64054497a2f4d73c611edb650f83f493df5 /ssl
parentfc5ece2ee4c7ef41759c2267eccbe08df3245721 (diff)
downloadopenssl-26f426846ec3798a27f19600f05e4e41446d5b4f.tar.gz
Store the number of extensions in CLIENTHELLO_MSG
Keep track of the length of the pre_proc_exts array. Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2279)
Diffstat (limited to 'ssl')
-rw-r--r--ssl/ssl_locl.h1
-rw-r--r--ssl/statem/statem_srvr.c3
2 files changed, 3 insertions, 1 deletions
diff --git a/ssl/ssl_locl.h b/ssl/ssl_locl.h
index 6557834265..f671860fa3 100644
--- a/ssl/ssl_locl.h
+++ b/ssl/ssl_locl.h
@@ -1797,6 +1797,7 @@ typedef struct {
size_t compressions_len;
unsigned char compressions[MAX_COMPRESSIONS_SIZE];
PACKET extensions;
+ size_t pre_proc_exts_len;
RAW_EXTENSION *pre_proc_exts;
} CLIENTHELLO_MSG;
diff --git a/ssl/statem/statem_srvr.c b/ssl/statem/statem_srvr.c
index 28f3b24cd6..ca020c5511 100644
--- a/ssl/statem/statem_srvr.c
+++ b/ssl/statem/statem_srvr.c
@@ -1423,7 +1423,8 @@ MSG_PROCESS_RETURN tls_process_client_hello(SSL *s, PACKET *pkt)
/* Preserve the raw extensions PACKET for later use */
extensions = clienthello.extensions;
if (!tls_collect_extensions(s, &extensions, EXT_CLIENT_HELLO,
- &clienthello.pre_proc_exts, &al, NULL)) {
+ &clienthello.pre_proc_exts, &al,
+ &clienthello.pre_proc_exts_len)) {
/* SSLerr already been called */
goto f_err;
}