From: Pauli Date: Fri, 17 Mar 2023 01:11:16 +0000 (+1100) Subject: Coverity 1522032: use after free X-Git-Tag: openssl-3.2.0-alpha1~1128 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7c45b7cbb04e297c3342fcc50bf7b0a9e36df1dd;p=thirdparty%2Fopenssl.git Coverity 1522032: use after free Fix use after free error. Reviewed-by: Shane Lontis Reviewed-by: Tom Cosgrove (Merged from https://github.com/openssl/openssl/pull/20528) --- diff --git a/providers/implementations/kdfs/argon2.c b/providers/implementations/kdfs/argon2.c index 89947472c05..cb9e69a7a35 100644 --- a/providers/implementations/kdfs/argon2.c +++ b/providers/implementations/kdfs/argon2.c @@ -1033,10 +1033,11 @@ static int kdf_argon2_derive(void *vctx, unsigned char *out, size_t outlen, ctx->md = EVP_MD_fetch(ctx->libctx, "blake2b512", ctx->propq); if (ctx->md == NULL) { + EVP_MAC_free(ctx->mac); OPENSSL_free(ctx); ERR_raise_data(ERR_LIB_PROV, PROV_R_MISSING_MESSAGE_DIGEST, "canot fetch blake2b512"); - goto fail1; + return 0; } if (ctx->salt == NULL || ctx->saltlen == 0) { @@ -1135,7 +1136,6 @@ fail3: fail2: EVP_MD_free(ctx->md); -fail1: EVP_MAC_free(ctx->mac); return 0;