summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBrent Cook <bcook@cvs.openbsd.org>2015-08-19 23:34:35 +0000
committerBrent Cook <bcook@cvs.openbsd.org>2015-08-19 23:34:35 +0000
commitd6f3d07fccaa2bd455f9f4bbf73d871b8426ba7e (patch)
tree8eb35234ef05ae7355cf9e8e4e02477152c49928 /lib
parentd48358f488260da665bedf744d3dcd6bb679d08a (diff)
Properly handle missing TLS extensions in client hello as a non-failure.
Noticed by @Ligushka from github. ok miod@, doug@
Diffstat (limited to 'lib')
-rw-r--r--lib/libssl/t1_lib.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/libssl/t1_lib.c b/lib/libssl/t1_lib.c
index 9ee495c7908..b892fa9b914 100644
--- a/lib/libssl/t1_lib.c
+++ b/lib/libssl/t1_lib.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: t1_lib.c,v 1.82 2015/07/24 07:57:48 doug Exp $ */
+/* $OpenBSD: t1_lib.c,v 1.83 2015/08/19 23:34:34 bcook Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@@ -2087,6 +2087,8 @@ tls1_process_ticket(SSL *s, const unsigned char *session, int session_len,
return -1;
/* Now at start of extensions */
+ if (CBS_len(&session_id) == 0)
+ return 0;
if (!CBS_get_u16_length_prefixed(&session_id, &extensions))
return -1;