]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Break the if statement up into 2 if statements
authorJiasheng Jiang <jiasheng@purdue.edu>
Mon, 25 Mar 2024 14:16:51 +0000 (14:16 +0000)
committerNeil Horman <nhorman@openssl.org>
Sat, 30 Mar 2024 13:05:32 +0000 (09:05 -0400)
Break the if statement up into 2 if statements to avoid call
EVP_MD_get_size() twice.

Signed-off-by: Jiasheng Jiang <jiasheng@purdue.edu>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Todd Short <todd.short@me.com>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23959)

providers/implementations/signature/sm2_sig.c

index 6b8936b9594321ff4171b0ab698e33ff8fe0532e..346172abc085083f6c8ae94973c68a82d9bb8636 100644 (file)
@@ -310,11 +310,13 @@ int sm2sig_digest_verify_final(void *vpsm2ctx, const unsigned char *sig,
     PROV_SM2_CTX *psm2ctx = (PROV_SM2_CTX *)vpsm2ctx;
     unsigned char digest[EVP_MAX_MD_SIZE];
     unsigned int dlen = 0;
+    int md_size;
 
-    if (psm2ctx == NULL
-        || psm2ctx->mdctx == NULL
-        || EVP_MD_get_size(psm2ctx->md) <= 0
-        || EVP_MD_get_size(psm2ctx->md) > (int)sizeof(digest))
+    if (psm2ctx == NULL || psm2ctx->mdctx == NULL)
+        return 0;
+
+    md_size = EVP_MD_get_size(psm2ctx->md);
+    if (md_size <= 0 || md_size > (int)sizeof(digest))
         return 0;
 
     if (!(sm2sig_compute_z_digest(psm2ctx)