]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
ctrl_params_translate: Fix leak of BN_CTX
authorTomas Mraz <tomas@openssl.org>
Mon, 11 Oct 2021 13:03:47 +0000 (15:03 +0200)
committerTomas Mraz <tomas@openssl.org>
Tue, 12 Oct 2021 14:45:21 +0000 (16:45 +0200)
Also add a missing allocation failure check.

Fixes #16788

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
(Merged from https://github.com/openssl/openssl/pull/16804)

crypto/evp/ctrl_params_translate.c

index 88945e13e629b813d2acb4c65b200005c8df4225..b17ce3cbf9b9370891434abb17abad6a1d3ba445 100644 (file)
@@ -1595,10 +1595,13 @@ static int get_payload_public_key(enum state state,
             const EC_GROUP *ecg = EC_KEY_get0_group(eckey);
             const EC_POINT *point = EC_KEY_get0_public_key(eckey);
 
+            if (bnctx == NULL)
+                return 0;
             ctx->sz = EC_POINT_point2buf(ecg, point,
                                          POINT_CONVERSION_COMPRESSED,
                                          &buf, bnctx);
             ctx->p2 = buf;
+            BN_CTX_free(bnctx);
             break;
         }
         return 0;