summaryrefslogtreecommitdiffstats
path: root/upstream.patch
diff options
context:
space:
mode:
authorRemi Collet <remi@remirepo.net>2022-11-25 08:28:26 +0100
committerRemi Collet <remi@php.net>2022-11-25 08:28:26 +0100
commit33144e7e80686d1f4a8458338174dcb9fb3b9d76 (patch)
treefb9c420607ffa8f1daef935a142ea40c0d312639 /upstream.patch
parent648b49c0ae762c9df007134e63d785d871ece2c9 (diff)
test build for GH-9997 with new upstream patch
Diffstat (limited to 'upstream.patch')
-rw-r--r--upstream.patch45
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();