From: Bernd Edlinger Date: Fri, 15 Sep 2023 07:56:01 +0000 (+0200) Subject: Fix a merge mistake in engne_list_add X-Git-Tag: openssl-3.1.3~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bb67dff95aeb21047b95f92c5119cb63e75cfd2f;p=thirdparty%2Fopenssl.git Fix a merge mistake in engne_list_add master version increments the struct_ref early and needs to decrement the struct_ref on error, while 3.1 and 3.0 increment the struct_ref later. Reviewed-by: Tom Cosgrove Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/22115) --- diff --git a/crypto/engine/eng_list.c b/crypto/engine/eng_list.c index d3bd0c0dc23..d9e620dc586 100644 --- a/crypto/engine/eng_list.c +++ b/crypto/engine/eng_list.c @@ -82,7 +82,6 @@ static int engine_list_add(ENGINE *e) * The first time the list allocates, we should register the cleanup. */ if (!engine_cleanup_add_last(engine_list_cleanup)) { - CRYPTO_DOWN_REF(&e->struct_ref, &ref); ERR_raise(ERR_LIB_ENGINE, ENGINE_R_INTERNAL_LIST_ERROR); return 0; }