Remove redundant check from tls1_get_curvelist
authorMatt Caswell <matt@openssl.org>
Mon, 9 Nov 2015 16:37:33 +0000 (16:37 +0000)
committerMatt Caswell <matt@openssl.org>
Mon, 9 Nov 2015 23:10:31 +0000 (23:10 +0000)
The function tls1_get_curvelist() has an explicit check to see if s->cert
is NULL or not. However the check appears *after* calling the tls1_suiteb
macro which derefs s->cert. In reality s->cert can never be NULL because
it is created in SSL_new(). If the malloc fails then the SSL_new call fails
and no SSL object is created.

Reviewed-by: Tim Hudson <tjh@openssl.org>
(cherry picked from commit 6329b6092b28b656be8a1e4a8363d2e3bcc32053)

Conflicts:
ssl/t1_lib.c

ssl/t1_lib.c

index ba09848..681e454 100644 (file)
@@ -497,7 +497,7 @@ static int tls1_get_curvelist(SSL *s, int sess,
             } else
 # endif
             {
-                if (!s->server || (s->cert && s->cert->ecdh_tmp_auto)) {
+                if (!s->server || s->cert->ecdh_tmp_auto) {
                     *pcurves = eccurves_auto;
                     pcurveslen = sizeof(eccurves_auto);
                 } else {