]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
ec_keymgmt: fix coverity 1474427: resource leak
authorPauli <ppzgs1@gmail.com>
Sun, 21 Mar 2021 23:05:40 +0000 (09:05 +1000)
committerPauli <pauli@openssl.org>
Tue, 23 Mar 2021 23:40:26 +0000 (09:40 +1000)
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14637)

providers/implementations/keymgmt/ec_kmgmt.c

index 2ba21dfb3918a895d90caf0576602e04f0f37bdb..b8aa518a0816d29fc2cfa1133cf693ea957f3577 100644 (file)
@@ -847,13 +847,13 @@ int sm2_validate(const void *keydata, int selection, int checktype)
     if (!ossl_prov_is_running())
         return 0;
 
+    if ((selection & EC_POSSIBLE_SELECTIONS) == 0)
+        return 1; /* nothing to validate */
+
     ctx = BN_CTX_new_ex(ossl_ec_key_get_libctx(eck));
     if  (ctx == NULL)
         return 0;
 
-    if ((selection & EC_POSSIBLE_SELECTIONS) == 0)
-        return 1; /* nothing to validate */
-
     if ((selection & OSSL_KEYMGMT_SELECT_DOMAIN_PARAMETERS) != 0)
         ok = ok && EC_GROUP_check(EC_KEY_get0_group(eck), ctx);