From 33144e7e80686d1f4a8458338174dcb9fb3b9d76 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Fri, 25 Nov 2022 08:28:26 +0100 Subject: test build for GH-9997 with new upstream patch --- upstream.patch | 45 +++++++++++++++++++-------------------------- 1 file changed, 19 insertions(+), 26 deletions(-) (limited to 'upstream.patch') diff --git a/upstream.patch b/upstream.patch index a1d65ba..be72054 100644 --- a/upstream.patch +++ b/upstream.patch @@ -1,38 +1,31 @@ -From 1ef65c1cf030ac5173fb388795f82e3d14a70c6b Mon Sep 17 00:00:00 2001 +From 3d90a24e9349ea17e5467de7b1d7bfa17ec2c650 Mon Sep 17 00:00:00 2001 From: Jakub Zelenka -Date: Mon, 17 Oct 2022 20:38:40 +0100 -Subject: [PATCH] Clean up OpenSSL engine list when OpenSSL 1.0.2 used +Date: Thu, 24 Nov 2022 18:29:44 +0000 +Subject: [PATCH] Fix GH-9997: OpenSSL engine clean up segfault -Attempt to fix GH-8620. --- - NEWS | 4 ++++ - ext/openssl/openssl.c | 9 +++++++++ - 2 files changed, 13 insertions(+) + NEWS | 3 +++ + ext/openssl/openssl.c | 5 +++-- + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c -index 81cef7edbfca..0f937f8c6de0 100644 +index cb5e6260b4ab..da555c843c15 100644 --- a/ext/openssl/openssl.c +++ b/ext/openssl/openssl.c -@@ -61,6 +61,10 @@ - #include - #endif - -+#if OPENSSL_VERSION_NUMBER < 0x10100000L && !defined(OPENSSL_NO_ENGINE) -+#include -+#endif -+ - /* Common */ - #include - -@@ -1312,6 +1316,11 @@ PHP_MSHUTDOWN_FUNCTION(openssl) +@@ -1324,13 +1324,14 @@ PHP_MSHUTDOWN_FUNCTION(openssl) #if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER) EVP_cleanup(); -+#ifndef OPENSSL_NO_ENGINE -+ /* Free engine list initialized by OPENSSL_config */ -+ ENGINE_cleanup(); -+#endif ++ /* prevent accessing locking callback from unloaded extension */ ++ CRYPTO_set_locking_callback(NULL); + - /* prevent accessing locking callback from unloaded extension */ - CRYPTO_set_locking_callback(NULL); + #ifndef OPENSSL_NO_ENGINE + /* Free engine list initialized by OPENSSL_config */ + ENGINE_cleanup(); + #endif + +- /* prevent accessing locking callback from unloaded extension */ +- CRYPTO_set_locking_callback(NULL); /* free allocated error strings */ + ERR_free_strings(); + CONF_modules_free(); -- cgit