summaryrefslogtreecommitdiffstats
path: root/crypto/ffc
diff options
context:
space:
mode:
authorShane Lontis <shane.lontis@oracle.com>2020-02-10 11:45:27 +1000
committerShane Lontis <shane.lontis@oracle.com>2020-02-14 07:28:46 +1000
commit075b1f2f42c9ab1f5c80078cad70de0216748b6d (patch)
tree25fe5cb77edaee8f576fd459eb47642853ea21b5 /crypto/ffc
parent51994e505dbb1cd0dd76869ec962e2948b77b585 (diff)
Fix coverity issues
CID : 1458169 RESOURCE LEAK ffc_params_generate.c - False positive, but addressed another Leak in adjacent code CID : 1458171 UNCHECKED RET apps/pkeyutl.c CID : 1458173 DEAD CODE ffc_params_generate.c CID : 1458174 RESOURCE LEAK ssl_lib.c Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de> (Merged from https://github.com/openssl/openssl/pull/11048)
Diffstat (limited to 'crypto/ffc')
-rw-r--r--crypto/ffc/ffc_params_generate.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/crypto/ffc/ffc_params_generate.c b/crypto/ffc/ffc_params_generate.c
index c32c33e8b8..54d5c58e09 100644
--- a/crypto/ffc/ffc_params_generate.c
+++ b/crypto/ffc/ffc_params_generate.c
@@ -46,8 +46,6 @@ static int ffc_validate_LN(size_t L, size_t N, int type)
return 80;
if (L == 2048 && (N == 224 || N == 256))
return 112;
- if (L == 2048 && N == 256)
- return 112;
if (L == 3072 && N == 256)
return 128;
}
@@ -103,13 +101,14 @@ static int generate_canonical_g(BN_CTX *ctx, BN_MONT_CTX *mont,
EVP_MD_CTX *mctx = NULL;
int mdsize;
+ mdsize = EVP_MD_size(evpmd);
+ if (mdsize <= 0)
+ return 0;
+
mctx = EVP_MD_CTX_new();
if (mctx == NULL)
- goto err;
+ return 0;
- mdsize = EVP_MD_size(evpmd);
- if (mdsize <= 0)
- goto err;
/*
* A.2.3 Step (4) & (5)
* A.2.4 Step (6) & (7)
@@ -134,7 +133,7 @@ static int generate_canonical_g(BN_CTX *ctx, BN_MONT_CTX *mont,
|| !EVP_DigestFinal_ex(mctx, md, NULL)
|| (BN_bin2bn(md, mdsize, tmp) == NULL)
|| !BN_mod_exp_mont(g, tmp, e, p, ctx, mont))
- return 0;
+ break; /* exit on failure */
/*
* A.2.3 Step (10)
* A.2.4 Step (12)
@@ -145,7 +144,6 @@ static int generate_canonical_g(BN_CTX *ctx, BN_MONT_CTX *mont,
break; /* found g */
}
}
-err:
EVP_MD_CTX_free(mctx);
return ret;
}
@@ -743,7 +741,7 @@ err:
if (seed != params->seed)
OPENSSL_free(seed);
OPENSSL_free(seed_tmp);
- if (ctx)
+ if (ctx != NULL)
BN_CTX_end(ctx);
BN_CTX_free(ctx);
BN_MONT_CTX_free(mont);