diff options
author | Remi Collet <remi@remirepo.net> | 2022-11-25 08:28:26 +0100 |
---|---|---|
committer | Remi Collet <remi@php.net> | 2022-11-25 08:28:26 +0100 |
commit | 33144e7e80686d1f4a8458338174dcb9fb3b9d76 (patch) | |
tree | fb9c420607ffa8f1daef935a142ea40c0d312639 /upstream.patch | |
parent | 648b49c0ae762c9df007134e63d785d871ece2c9 (diff) |
test build for GH-9997 with new upstream patch
Diffstat (limited to 'upstream.patch')
-rw-r--r-- | upstream.patch | 45 |
1 files changed, 19 insertions, 26 deletions
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 <bukka@php.net> -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 <openssl/param_build.h> - #endif - -+#if OPENSSL_VERSION_NUMBER < 0x10100000L && !defined(OPENSSL_NO_ENGINE) -+#include <openssl/engine.h> -+#endif -+ - /* Common */ - #include <time.h> - -@@ -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(); |