You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

31 lines
1.3 KiB

From 4308c868f94df1f2b99e80038ba5ea1076d919a7 Mon Sep 17 00:00:00 2001
From: Anatol Belski <ab@php.net>
Date: Thu, 14 Jan 2016 17:42:28 +0100
Subject: [PATCH] Fixed bug #70979 crash with bad soap request
The error handler is overloaded with the SOAP one. However the SOAP
handler eventually wants to access some of its globals. This won't
work as long as the SOAP globals aren't initialized. The use case
is when an error is thrown before RINIT went through. As the call
order is arbitrary, the safest is to wait when all the modules
called their RINIT.
[roberto@debian.org: backported to 5.4.45]
Bug: https://bugs.php.net/bug.php?id=70979
Origin: backport, https://git.php.net/?p=php-src.git;a=commitdiff;h=4308c868f94df1f2b99e80038ba5ea1076d919a7
---
ext/soap/soap.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- php5.git.orig/ext/soap/soap.c
+++ php5.git/ext/soap/soap.c
@@ -2131,7 +2131,7 @@
_old_http_response_code = SG(sapi_headers).http_response_code;
_old_http_status_line = SG(sapi_headers).http_status_line;
- if (!SOAP_GLOBAL(use_soap_error_handler) || !EG(objects_store).object_buckets) {
+ if (!PG(modules_activated) || !SOAP_GLOBAL(use_soap_error_handler) || !EG(objects_store).object_buckets) {
call_old_error_handler(error_num, error_filename, error_lineno, format, args);
return;
}