Harmonize the error handling codepath
authorNicola Tuveri <nic.tuv@gmail.com>
Wed, 5 Sep 2018 09:08:12 +0000 (12:08 +0300)
committerNicola Tuveri <nic.tuv@gmail.com>
Wed, 5 Sep 2018 12:26:46 +0000 (15:26 +0300)
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/7121)

crypto/dh/dh_lib.c
crypto/dsa/dsa_lib.c
crypto/ec/ec_kmeth.c
crypto/rsa/rsa_lib.c

index d277faa398f0e5e03e7fe0c6ac62313db0003d3c..4bc62a63c0e7824ca3b377a4b73bdd2342a078af 100644 (file)
@@ -82,12 +82,14 @@ DH *DH_new_method(ENGINE *engine)
 
     if ((ret->meth->init != NULL) && !ret->meth->init(ret)) {
         DHerr(DH_F_DH_NEW_METHOD, ERR_R_INIT_FAIL);
-err:
-        DH_free(ret);
-        ret = NULL;
+        goto err;
     }
 
     return ret;
+
+ err:
+    DH_free(ret);
+    return NULL;
 }
 
 void DH_free(DH *r)
index 92758ca4c6175faade2af42a06778a2b14ea8564..9600c614f6f4eadd0b00cacc08597817c82633d2 100644 (file)
@@ -91,12 +91,14 @@ DSA *DSA_new_method(ENGINE *engine)
 
     if ((ret->meth->init != NULL) && !ret->meth->init(ret)) {
         DSAerr(DSA_F_DSA_NEW_METHOD, ERR_R_INIT_FAIL);
-err:
-        DSA_free(ret);
-        ret = NULL;
+        goto err;
     }
 
     return ret;
+
+ err:
+    DSA_free(ret);
+    return NULL;
 }
 
 void DSA_free(DSA *r)
index 5e5d1ae1cf41f7b8a4e9a538a1c0307ea9f4933a..decad65a18a632f320d9c713678bd2df92bf4162 100644 (file)
@@ -119,7 +119,7 @@ EC_KEY *EC_KEY_new_method(ENGINE *engine)
     }
     return ret;
 
-err:
+ err:
     EC_KEY_free(ret);
     return NULL;
 }
index 97552fa335b2a40473c91109e0ba26f2c0aad883..40dee3683661a92e89aad5ba89217135aeadc669 100644 (file)
@@ -94,7 +94,7 @@ RSA *RSA_new_method(ENGINE *engine)
 
     return ret;
 
-err:
+ err:
     RSA_free(ret);
     return NULL;
 }