components/php/php56/patches/CVE-2015-6836.patch
author Michael Nestler <Michael.Nestler@Oracle.COM>
Thu, 19 Nov 2015 22:52:15 -0800
changeset 5116 867d838118ad
permissions -rw-r--r--
22244227 problem in UTILITY/PHP 21577672 problem in UTILITY/PHP 22244239 problem in UTILITY/PHP 22244245 problem in UTILITY/PHP 22244247 problem in UTILITY/PHP 22244253 problem in UTILITY/PHP 22244256 problem in UTILITY/PHP 22244261 problem in UTILITY/PHP 22244265 problem in UTILITY/PHP 22244270 problem in UTILITY/PHP 22244277 problem in UTILITY/PHP 22244286 problem in UTILITY/PHP
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5116
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
     1
# Source: upstream
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
     2
# http://git.php.net/?p=php-src.git;a=commit;h=e201f01ac17243a1e5fb6a3911ed8e21b1619ac1
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
     3
# https://bugs.php.net/bug.php?id=70388
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
     4
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
     5
From e201f01ac17243a1e5fb6a3911ed8e21b1619ac1 Mon Sep 17 00:00:00 2001
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
     6
From: Stanislav Malyshev <[email protected]>
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
     7
Date: Mon, 31 Aug 2015 21:06:03 -0700
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
     8
Subject: [PATCH] Fix bug #70388 - SOAP serialize_function_call() type
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
     9
 confusion
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    10
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    11
---
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    12
 ext/soap/soap.c              | 96 ++++++++++++++++++++++++--------------------
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    13
 ext/soap/tests/bug70388.phpt | 17 ++++++++
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    14
 2 files changed, 69 insertions(+), 44 deletions(-)
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    15
 create mode 100644 ext/soap/tests/bug70388.phpt
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    16
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    17
diff --git a/ext/soap/soap.c b/ext/soap/soap.c
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    18
index 1b8f545..a0e64a3 100644
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    19
--- a/ext/soap/soap.c
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    20
+++ b/ext/soap/soap.c
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    21
@@ -989,7 +989,7 @@ static HashTable* soap_create_typemap(sdlPtr sdl, HashTable *ht TSRMLS_DC)
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    22
 	HashTable *ht2;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    23
 	HashPosition pos1, pos2;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    24
 	HashTable *typemap = NULL;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    25
-	
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    26
+
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    27
 	zend_hash_internal_pointer_reset_ex(ht, &pos1);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    28
 	while (zend_hash_get_current_data_ex(ht, (void**)&tmp, &pos1) == SUCCESS) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    29
 		char *type_name = NULL;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    30
@@ -1033,7 +1033,7 @@ static HashTable* soap_create_typemap(sdlPtr sdl, HashTable *ht TSRMLS_DC)
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    31
 				}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    32
 			}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    33
 			zend_hash_move_forward_ex(ht2, &pos2);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    34
-		}		
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    35
+		}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    36
 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    37
 		if (type_name) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    38
 			smart_str nscat = {0};
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    39
@@ -1063,7 +1063,7 @@ static HashTable* soap_create_typemap(sdlPtr sdl, HashTable *ht TSRMLS_DC)
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    40
 			new_enc->to_xml = enc->to_xml;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    41
 			new_enc->to_zval = enc->to_zval;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    42
 			new_enc->details.map = emalloc(sizeof(soapMapping));
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    43
-			memset(new_enc->details.map, 0, sizeof(soapMapping));			
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    44
+			memset(new_enc->details.map, 0, sizeof(soapMapping));
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    45
 			if (to_xml) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    46
 				zval_add_ref(&to_xml);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    47
 				new_enc->details.map->to_xml = to_xml;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    48
@@ -1120,7 +1120,7 @@ PHP_METHOD(SoapServer, SoapServer)
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    49
 	if (Z_TYPE_P(wsdl) != IS_STRING && Z_TYPE_P(wsdl) != IS_NULL) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    50
 		php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    51
 	}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    52
-	
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    53
+
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    54
 	service = emalloc(sizeof(soapService));
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    55
 	memset(service, 0, sizeof(soapService));
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    56
 	service->send_errors = 1;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    57
@@ -1155,7 +1155,7 @@ PHP_METHOD(SoapServer, SoapServer)
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    58
 		if (zend_hash_find(ht, "encoding", sizeof("encoding"), (void**)&tmp) == SUCCESS &&
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    59
 		    Z_TYPE_PP(tmp) == IS_STRING) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    60
 			xmlCharEncodingHandlerPtr encoding;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    61
-		
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    62
+
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    63
 			encoding = xmlFindCharEncodingHandler(Z_STRVAL_PP(tmp));
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    64
 			if (encoding == NULL) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    65
 				php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid 'encoding' option - '%s'", Z_STRVAL_PP(tmp));
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    66
@@ -1215,7 +1215,7 @@ PHP_METHOD(SoapServer, SoapServer)
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    67
 			}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    68
 		}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    69
 	}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    70
-	
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    71
+
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    72
 	if (typemap_ht) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    73
 		service->typemap = soap_create_typemap(service->sdl, typemap_ht TSRMLS_CC);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    74
 	}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    75
@@ -1345,7 +1345,7 @@ PHP_METHOD(SoapServer, getFunctions)
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    76
 	if (zend_parse_parameters_none() == FAILURE) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    77
 		return;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    78
 	}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    79
-	
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    80
+
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    81
 	FETCH_THIS_SERVICE(service);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    82
 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    83
 	array_init(return_value);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    84
@@ -1505,7 +1505,7 @@ PHP_METHOD(SoapServer, handle)
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    85
 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    86
 	FETCH_THIS_SERVICE(service);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    87
 	SOAP_GLOBAL(soap_version) = service->version;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    88
-	
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    89
+
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    90
 	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &arg, &arg_len) == FAILURE) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    91
 		return;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    92
 	}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    93
@@ -1930,7 +1930,7 @@ PHP_METHOD(SoapServer, handle)
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    94
 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    95
 		if (size == 0) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    96
 			php_error_docref(NULL TSRMLS_CC, E_ERROR, "Dump memory failed");
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    97
-		} 	
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    98
+		}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
    99
 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   100
 		if (soap_version == SOAP_1_2) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   101
 			sapi_add_header("Content-Type: application/soap+xml; charset=utf-8", sizeof("Content-Type: application/soap+xml; charset=utf-8")-1, 1);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   102
@@ -2147,10 +2147,10 @@ static void soap_error_handler(int error_num, const char *error_filename, const
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   103
 		     use_exceptions = 1;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   104
 		}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   105
 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   106
-		if ((error_num == E_USER_ERROR || 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   107
-		     error_num == E_COMPILE_ERROR || 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   108
+		if ((error_num == E_USER_ERROR ||
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   109
+		     error_num == E_COMPILE_ERROR ||
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   110
 		     error_num == E_CORE_ERROR ||
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   111
-		     error_num == E_ERROR || 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   112
+		     error_num == E_ERROR ||
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   113
 		     error_num == E_PARSE) &&
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   114
 		    use_exceptions) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   115
 			zval *fault, *exception;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   116
@@ -2219,10 +2219,10 @@ static void soap_error_handler(int error_num, const char *error_filename, const
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   117
 		va_list argcopy;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   118
 #endif
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   119
 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   120
-		if (error_num == E_USER_ERROR || 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   121
-		    error_num == E_COMPILE_ERROR || 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   122
+		if (error_num == E_USER_ERROR ||
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   123
+		    error_num == E_COMPILE_ERROR ||
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   124
 		    error_num == E_CORE_ERROR ||
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   125
-		    error_num == E_ERROR || 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   126
+		    error_num == E_ERROR ||
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   127
 		    error_num == E_PARSE) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   128
 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   129
 			char* code = SOAP_GLOBAL(error_code);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   130
@@ -2452,13 +2452,13 @@ PHP_METHOD(SoapClient, SoapClient)
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   131
 		if (zend_hash_find(ht, "encoding", sizeof("encoding"), (void**)&tmp) == SUCCESS &&
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   132
 		    Z_TYPE_PP(tmp) == IS_STRING) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   133
 			xmlCharEncodingHandlerPtr encoding;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   134
-		
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   135
+
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   136
 			encoding = xmlFindCharEncodingHandler(Z_STRVAL_PP(tmp));
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   137
 			if (encoding == NULL) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   138
 				php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid 'encoding' option - '%s'", Z_STRVAL_PP(tmp));
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   139
 			} else {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   140
 				xmlCharEncCloseFunc(encoding);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   141
-				add_property_stringl(this_ptr, "_encoding", Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), 1);			
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   142
+				add_property_stringl(this_ptr, "_encoding", Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), 1);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   143
 			}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   144
 		}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   145
 		if (zend_hash_find(ht, "classmap", sizeof("classmap"), (void**)&tmp) == SUCCESS &&
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   146
@@ -2493,7 +2493,7 @@ PHP_METHOD(SoapClient, SoapClient)
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   147
 		if (context) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   148
 			add_property_resource(this_ptr, "_stream_context", context->rsrc_id);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   149
 		}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   150
-	
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   151
+
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   152
 		if (zend_hash_find(ht, "cache_wsdl", sizeof("cache_wsdl"), (void**)&tmp) == SUCCESS &&
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   153
 		    Z_TYPE_PP(tmp) == IS_LONG) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   154
 			cache_wsdl = Z_LVAL_PP(tmp);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   155
@@ -2503,7 +2503,7 @@ PHP_METHOD(SoapClient, SoapClient)
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   156
 		    Z_TYPE_PP(tmp) == IS_STRING) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   157
 			add_property_stringl(this_ptr, "_user_agent", Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), 1);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   158
 		}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   159
-		
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   160
+
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   161
 		if (zend_hash_find(ht, "keep_alive", sizeof("keep_alive"), (void**)&tmp) == SUCCESS &&
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   162
 				(Z_TYPE_PP(tmp) == IS_BOOL || Z_TYPE_PP(tmp) == IS_LONG) && Z_LVAL_PP(tmp) == 0) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   163
 			add_property_long(this_ptr, "_keep_alive", 0);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   164
@@ -2606,7 +2606,7 @@ static int do_request(zval *this_ptr, xmlDoc *request, char *location, char *act
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   165
 	xmlFree(buf);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   166
 	if (ret && zend_hash_find(Z_OBJPROP_P(this_ptr), "__soap_fault", sizeof("__soap_fault"), (void **) &fault) == SUCCESS) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   167
 	  return FALSE;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   168
-	}	  
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   169
+	}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   170
   return ret;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   171
 }
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   172
 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   173
@@ -2903,8 +2903,10 @@ PHP_METHOD(SoapClient, __call)
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   174
 			}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   175
 			zend_hash_internal_pointer_reset(default_headers);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   176
 			while (zend_hash_get_current_data(default_headers, (void**)&tmp) == SUCCESS) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   177
-				Z_ADDREF_PP(tmp);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   178
-				zend_hash_next_index_insert(soap_headers, tmp, sizeof(zval *), NULL);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   179
+				if(Z_TYPE_PP(tmp) == IS_OBJECT) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   180
+					Z_ADDREF_PP(tmp);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   181
+					zend_hash_next_index_insert(soap_headers, tmp, sizeof(zval *), NULL);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   182
+				}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   183
 				zend_hash_move_forward(default_headers);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   184
 			}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   185
 		} else {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   186
@@ -2912,7 +2914,7 @@ PHP_METHOD(SoapClient, __call)
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   187
 			free_soap_headers = 0;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   188
 		}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   189
 	}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   190
-	
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   191
+
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   192
 	arg_count = zend_hash_num_elements(Z_ARRVAL_P(args));
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   193
 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   194
 	if (arg_count > 0) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   195
@@ -2978,7 +2980,7 @@ PHP_METHOD(SoapClient, __getTypes)
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   196
 	HashPosition pos;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   197
 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   198
 	FETCH_THIS_SDL(sdl);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   199
-	
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   200
+
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   201
 	if (zend_parse_parameters_none() == FAILURE) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   202
 		return;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   203
 	}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   204
@@ -3007,7 +3009,7 @@ PHP_METHOD(SoapClient, __getTypes)
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   205
 PHP_METHOD(SoapClient, __getLastRequest)
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   206
 {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   207
 	zval **tmp;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   208
-	
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   209
+
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   210
 	if (zend_parse_parameters_none() == FAILURE) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   211
 		return;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   212
 	}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   213
@@ -3030,7 +3032,7 @@ PHP_METHOD(SoapClient, __getLastResponse)
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   214
 	if (zend_parse_parameters_none() == FAILURE) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   215
 		return;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   216
 	}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   217
-	
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   218
+
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   219
 	if (zend_hash_find(Z_OBJPROP_P(this_ptr), "__last_response", sizeof("__last_response"), (void **)&tmp) == SUCCESS &&
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   220
 	    Z_TYPE_PP(tmp) == IS_STRING) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   221
 		RETURN_STRINGL(Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), 1);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   222
@@ -3045,11 +3047,11 @@ PHP_METHOD(SoapClient, __getLastResponse)
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   223
 PHP_METHOD(SoapClient, __getLastRequestHeaders)
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   224
 {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   225
 	zval **tmp;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   226
-	
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   227
+
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   228
 	if (zend_parse_parameters_none() == FAILURE) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   229
 		return;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   230
 	}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   231
-	
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   232
+
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   233
 	if (zend_hash_find(Z_OBJPROP_P(this_ptr), "__last_request_headers", sizeof("__last_request_headers"), (void **)&tmp) == SUCCESS &&
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   234
 	    Z_TYPE_PP(tmp) == IS_STRING) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   235
 		RETURN_STRINGL(Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), 1);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   236
@@ -3064,7 +3066,7 @@ PHP_METHOD(SoapClient, __getLastRequestHeaders)
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   237
 PHP_METHOD(SoapClient, __getLastResponseHeaders)
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   238
 {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   239
 	zval **tmp;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   240
-	
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   241
+
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   242
 	if (zend_parse_parameters_none() == FAILURE) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   243
 		return;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   244
 	}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   245
@@ -3209,10 +3211,10 @@ PHP_METHOD(SoapClient, __setSoapHeaders)
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   246
 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   247
 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   248
 /* {{{ proto string SoapClient::__setLocation([string new_location])
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   249
-   Sets the location option (the endpoint URL that will be touched by the 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   250
+   Sets the location option (the endpoint URL that will be touched by the
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   251
    following SOAP requests).
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   252
    If new_location is not specified or null then SoapClient will use endpoint
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   253
-   from WSDL file. 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   254
+   from WSDL file.
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   255
    The function returns old value of location options. */
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   256
 PHP_METHOD(SoapClient, __setLocation)
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   257
 {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   258
@@ -3261,10 +3263,10 @@ static void set_soap_fault(zval *obj, char *fault_code_ns, char *fault_code, cha
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   259
 	if (Z_TYPE_P(obj) != IS_OBJECT) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   260
 		object_init_ex(obj, soap_fault_class_entry);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   261
 	}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   262
-	
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   263
+
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   264
 	add_property_string(obj, "faultstring", fault_string ? fault_string : "", 1);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   265
 	zend_update_property_string(zend_exception_get_default(TSRMLS_C), obj, "message", sizeof("message")-1, (fault_string ? fault_string : "") TSRMLS_CC);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   266
-	
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   267
+
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   268
 	if (fault_code != NULL) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   269
 		int soap_version = SOAP_GLOBAL(soap_version);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   270
 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   271
@@ -3689,7 +3691,7 @@ ignore_header:
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   272
 		func = func->children;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   273
 	}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   274
 	deserialize_parameters(func, function, num_params, parameters TSRMLS_CC);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   275
-	
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   276
+
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   277
 	encode_finish();
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   278
 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   279
 	return function;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   280
@@ -3971,8 +3973,8 @@ static xmlDocPtr serialize_response_call(sdlFunctionPtr function, char *function
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   281
 		}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   282
 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   283
 		if (fault_ns == NULL &&
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   284
-		    fault && 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   285
-		    fault->details && 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   286
+		    fault &&
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   287
+		    fault->details &&
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   288
 		    zend_hash_num_elements(fault->details) == 1) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   289
 			sdlParamPtr sparam;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   290
 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   291
@@ -3996,7 +3998,7 @@ static xmlDocPtr serialize_response_call(sdlFunctionPtr function, char *function
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   292
 					xmlChar *code = xmlBuildQName(BAD_CAST(str), nsptr->prefix, NULL, 0);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   293
 					xmlNodeSetContent(node, code);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   294
 					xmlFree(code);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   295
-				} else {	
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   296
+				} else {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   297
 					xmlNodeSetContentLen(node, BAD_CAST(str), (int)new_len);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   298
 				}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   299
 				efree(str);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   300
@@ -4022,7 +4024,7 @@ static xmlDocPtr serialize_response_call(sdlFunctionPtr function, char *function
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   301
 					xmlChar *code = xmlBuildQName(BAD_CAST(str), nsptr->prefix, NULL, 0);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   302
 					xmlNodeSetContent(node, code);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   303
 					xmlFree(code);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   304
-				} else {	
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   305
+				} else {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   306
 					xmlNodeSetContentLen(node, BAD_CAST(str), (int)new_len);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   307
 				}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   308
 				efree(str);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   309
@@ -4194,7 +4196,7 @@ static xmlDocPtr serialize_response_call(sdlFunctionPtr function, char *function
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   310
 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   311
 	encode_finish();
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   312
 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   313
-	if (function && function->responseName == NULL && 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   314
+	if (function && function->responseName == NULL &&
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   315
 	    body->children == NULL && head == NULL) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   316
 		xmlFreeDoc(doc);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   317
 		return NULL;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   318
@@ -4328,11 +4330,18 @@ static xmlDocPtr serialize_function_call(zval *this_ptr, sdlFunctionPtr function
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   319
 	if (head) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   320
 		zval** header;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   321
 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   322
-		zend_hash_internal_pointer_reset(soap_headers);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   323
-		while (zend_hash_get_current_data(soap_headers,(void**)&header) == SUCCESS) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   324
-			HashTable *ht = Z_OBJPROP_PP(header);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   325
+		for(zend_hash_internal_pointer_reset(soap_headers);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   326
+				zend_hash_get_current_data(soap_headers,(void**)&header) == SUCCESS;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   327
+				zend_hash_move_forward(soap_headers)
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   328
+			) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   329
+			HashTable *ht;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   330
 			zval **name, **ns, **tmp;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   331
 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   332
+			if (Z_TYPE_PP(header) != IS_OBJECT) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   333
+				continue;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   334
+			}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   335
+
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   336
+			ht = Z_OBJPROP_PP(header);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   337
 			if (zend_hash_find(ht, "name", sizeof("name"), (void**)&name) == SUCCESS &&
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   338
 			    Z_TYPE_PP(name) == IS_STRING &&
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   339
 			    zend_hash_find(ht, "namespace", sizeof("namespace"), (void**)&ns) == SUCCESS &&
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   340
@@ -4371,7 +4380,6 @@ static xmlDocPtr serialize_function_call(zval *this_ptr, sdlFunctionPtr function
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   341
 				xmlSetNs(h, nsptr);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   342
 				set_soap_header_attributes(h, ht, version);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   343
 			}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   344
-			zend_hash_move_forward(soap_headers);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   345
 		}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   346
 	}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   347
 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   348
@@ -4482,7 +4490,7 @@ static sdlParamPtr get_param(sdlFunctionPtr function, char *param_name, int inde
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   349
 			return *tmp;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   350
 		} else {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   351
 			HashPosition pos;
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   352
-		
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   353
+
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   354
 			zend_hash_internal_pointer_reset_ex(ht, &pos);
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   355
 			while (zend_hash_get_current_data_ex(ht, (void **)&tmp, &pos) != FAILURE) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   356
 				if ((*tmp)->paramName && strcmp(param_name, (*tmp)->paramName) == 0) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   357
diff --git a/ext/soap/tests/bug70388.phpt b/ext/soap/tests/bug70388.phpt
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   358
new file mode 100644
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   359
index 0000000..49a8efc
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   360
--- /dev/null
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   361
+++ b/ext/soap/tests/bug70388.phpt
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   362
@@ -0,0 +1,17 @@
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   363
+--TEST--
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   364
+Bug #70388 (SOAP serialize_function_call() type confusion / RCE)
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   365
+--SKIPIF--
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   366
+<?php require_once('skipif.inc'); ?>
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   367
+--FILE--
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   368
+<?php
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   369
+$dummy = unserialize('O:10:"SoapClient":3:{s:3:"uri";s:1:"X";s:8:"location";s:22:"http://localhost/a.xml";s:17:"__default_headers";a:1:{i:1;s:1337:"'.str_repeat("X", 1337).'";}}');
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   370
+try {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   371
+	var_dump($dummy->notexisting());
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   372
+} catch(Exception $e) {
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   373
+	var_dump($e->getMessage());
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   374
+	var_dump(get_class($e));
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   375
+}
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   376
+?>
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   377
+--EXPECTF--
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   378
+string(%d) "%s"
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   379
+string(9) "SoapFault"
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   380
\ No newline at end of file
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   381
-- 
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   382
2.1.4
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   383
867d838118ad 22244227 problem in UTILITY/PHP
Michael Nestler <Michael.Nestler@Oracle.COM>
parents:
diff changeset
   384