Rework error handling of custom_ext_meth_add towards strong exception safety.
authorBernd Edlinger <bernd.edlinger@hotmail.de>
Wed, 15 Feb 2017 10:36:17 +0000 (11:36 +0100)
committerRich Salz <rsalz@openssl.org>
Wed, 15 Feb 2017 13:37:52 +0000 (08:37 -0500)
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/2636)

ssl/t1_ext.c

index 1821647..b19e752 100644 (file)
@@ -179,12 +179,8 @@ static int custom_ext_meth_add(custom_ext_methods *exts,
     tmp = OPENSSL_realloc(exts->meths,
                           (exts->meths_count + 1) * sizeof(custom_ext_method));
 
-    if (tmp == NULL) {
-        OPENSSL_free(exts->meths);
-        exts->meths = NULL;
-        exts->meths_count = 0;
+    if (tmp == NULL)
         return 0;
-    }
 
     exts->meths = tmp;
     meth = exts->meths + exts->meths_count;