summaryrefslogtreecommitdiff
path: root/providers
diff options
context:
space:
mode:
authorJuergen Christ <jchrist@linux.ibm.com>2023-01-16 11:37:15 +0100
committerTomas Mraz <tomas@openssl.org>2023-01-17 17:37:55 +0100
commit235ef96049dbe337a3c3c5d419dacbb5a81df1b3 (patch)
tree9167f1957c314e373ddbc0b1a3e4d6b80449a8e1 /providers
parented77c14d91ec008d4d78d7293f37bd4aa60071f0 (diff)
downloadopenssl-new-235ef96049dbe337a3c3c5d419dacbb5a81df1b3.tar.gz
Fix potential NULL pointer dereference
In EC key generation, if allocation of struct ec_gen_ctx fails, values provided by parameters are copied into the context at represented by a NULL pointer. To fix this, prevent copy if allocation fails. Signed-off-by: Juergen Christ <jchrist@linux.ibm.com> Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20055)
Diffstat (limited to 'providers')
-rw-r--r--providers/implementations/keymgmt/ec_kmgmt.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/providers/implementations/keymgmt/ec_kmgmt.c b/providers/implementations/keymgmt/ec_kmgmt.c
index cecb8cef3e..990d03794a 100644
--- a/providers/implementations/keymgmt/ec_kmgmt.c
+++ b/providers/implementations/keymgmt/ec_kmgmt.c
@@ -1006,10 +1006,10 @@ static void *ec_gen_init(void *provctx, int selection,
gctx->libctx = libctx;
gctx->selection = selection;
gctx->ecdh_mode = 0;
- }
- if (!ec_gen_set_params(gctx, params)) {
- OPENSSL_free(gctx);
- gctx = NULL;
+ if (!ec_gen_set_params(gctx, params)) {
+ OPENSSL_free(gctx);
+ gctx = NULL;
+ }
}
return gctx;
}