aboutsummaryrefslogtreecommitdiff
path: root/ssl
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2018-10-26 15:29:15 +0100
committerMatt Caswell <matt@openssl.org>2018-11-08 11:27:03 +0000
commit680bd131b69d57e891888ab70d300176a5a16617 (patch)
tree35e65d00805d90a25544ae12d2afbd4e9cddefa7 /ssl
parent589b6227a85ea0133fe91d744b16dd72edee929a (diff)
downloadopenssl-680bd131b69d57e891888ab70d300176a5a16617.zip
openssl-680bd131b69d57e891888ab70d300176a5a16617.tar.gz
openssl-680bd131b69d57e891888ab70d300176a5a16617.tar.bz2
Give a better error if an attempt is made to set a zero length groups list
Previously we indicated this as a malloc failure which isn't very helpful. Reviewed-by: Kurt Roeckx <kurt@roeckx.be> (Merged from https://github.com/openssl/openssl/pull/7479)
Diffstat (limited to 'ssl')
-rw-r--r--ssl/t1_lib.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c
index 1564979..b8b9fbd 100644
--- a/ssl/t1_lib.c
+++ b/ssl/t1_lib.c
@@ -343,6 +343,10 @@ int tls1_set_groups(uint16_t **pext, size_t *pextlen,
*/
unsigned long dup_list = 0;
+ if (ngroups == 0) {
+ SSLerr(SSL_F_TLS1_SET_GROUPS, SSL_R_BAD_LENGTH);
+ return 0;
+ }
if ((glist = OPENSSL_malloc(ngroups * sizeof(*glist))) == NULL) {
SSLerr(SSL_F_TLS1_SET_GROUPS, ERR_R_MALLOC_FAILURE);
return 0;