diff options
Diffstat (limited to 'upstream.patch')
-rw-r--r-- | upstream.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/upstream.patch b/upstream.patch new file mode 100644 index 0000000..be72054 --- /dev/null +++ b/upstream.patch @@ -0,0 +1,31 @@ +From 3d90a24e9349ea17e5467de7b1d7bfa17ec2c650 Mon Sep 17 00:00:00 2001 +From: Jakub Zelenka <bukka@php.net> +Date: Thu, 24 Nov 2022 18:29:44 +0000 +Subject: [PATCH] Fix GH-9997: OpenSSL engine clean up segfault + +--- + 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 cb5e6260b4ab..da555c843c15 100644 +--- a/ext/openssl/openssl.c ++++ b/ext/openssl/openssl.c +@@ -1324,13 +1324,14 @@ PHP_MSHUTDOWN_FUNCTION(openssl) + #if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER) + EVP_cleanup(); + ++ /* 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(); |