Rework error handling of custom_ext_meth_add towards strong exception safety.
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/2636)
diff --git a/ssl/t1_ext.c b/ssl/t1_ext.c
index 1821647..b19e752 100644
--- a/ssl/t1_ext.c
+++ b/ssl/t1_ext.c
@@ -179,12 +179,8 @@
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;