diff options
author | Juergen Christ <jchrist@linux.ibm.com> | 2023-01-16 11:37:15 +0100 |
---|---|---|
committer | Tomas Mraz <tomas@openssl.org> | 2023-01-17 17:37:55 +0100 |
commit | 235ef96049dbe337a3c3c5d419dacbb5a81df1b3 (patch) | |
tree | 9167f1957c314e373ddbc0b1a3e4d6b80449a8e1 /providers/implementations | |
parent | ed77c14d91ec008d4d78d7293f37bd4aa60071f0 (diff) |
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/implementations')
-rw-r--r-- | providers/implementations/keymgmt/ec_kmgmt.c | 8 |
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; } |