dmitry Mon Jul 31 13:41:34 2006 UTC Added files: (Branch: PHP_5_2) /php-src/ext/soap/tests setheaders.phpt
Modified files: /php-src/ext/soap soap.c Log: Fixed crash in SoapClient::__setSoapHeaders() http://cvs.php.net/viewvc.cgi/php-src/ext/soap/soap.c?r1=1.156.2.28.2.6&r2=1.156.2.28.2.7&diff_format=u Index: php-src/ext/soap/soap.c diff -u php-src/ext/soap/soap.c:1.156.2.28.2.6 php-src/ext/soap/soap.c:1.156.2.28.2.7 --- php-src/ext/soap/soap.c:1.156.2.28.2.6 Tue Jul 11 14:35:50 2006 +++ php-src/ext/soap/soap.c Mon Jul 31 13:41:33 2006 @@ -17,7 +17,7 @@ | Dmitry Stogov <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ */ -/* $Id: soap.c,v 1.156.2.28.2.6 2006/07/11 14:35:50 dmitry Exp $ */ +/* $Id: soap.c,v 1.156.2.28.2.7 2006/07/31 13:41:33 dmitry Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -2923,7 +2923,7 @@ If no value is specified, all of the headers are removed. */ PHP_METHOD(SoapClient, __setSoapHeaders) { - zval *headers; + zval *headers = NULL; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|z", &headers) == FAILURE) { php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters"); @@ -2944,7 +2944,9 @@ zval *default_headers; ALLOC_INIT_ZVAL(default_headers); array_init(default_headers); + headers->refcount++; add_next_index_zval(default_headers, headers); + default_headers->refcount--; add_property_zval(this_ptr, "__default_headers", default_headers); } else{ php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid SOAP header"); http://cvs.php.net/viewvc.cgi/php-src/ext/soap/tests/setheaders.phpt?view=markup&rev=1.1 Index: php-src/ext/soap/tests/setheaders.phpt +++ php-src/ext/soap/tests/setheaders.phpt -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php