|   | php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login | 
| 
  [2005-06-18 14:19 UTC] neale at nealeupstone dot com
 Description: ------------ If I make a SOAP request (method call) that times out on the server (with default_socket_timeout=5), I get the following (c0000005) Exception consistently 5 seconds after attempting the connection: AppName: apache.exe AppVer: 2.0.53.0 ModName: php5ts.dll ModVer: 5.0.4.4 Offset: 00007704 (=> address 00a07704) It's an attempt to access memory at 0fffffff8 (i.e. -8) (if I recall correctly.. Windows only gave me that info the once). This is linked with default_socket_timeout, as if I set default_socket_timeout=10, the exception happens 10 seconds later. No data is returned to the browser from the PHP script. Reproduce code: --------------- How I reproduce this is to set a breakpoint in a method on a Java based service. Relevant PHP configs are: default_socket_timeout = 5 [soap] ; Enables or disables WSDL caching feature. soap.wsdl_cache_enabled=1 ; Sets the directory name where SOAP extension will put cache files. soap.wsdl_cache_dir="/tmp" ; (time to live) Sets the number of second while cached file will be used ; instead of original one. soap.wsdl_cache_ttl=86400 Expected result: ---------------- A SoapException would be thrown ? Certainly, the PHP script could be expected to continue rather than die. Actual result: -------------- PHP script dies PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits             | |||||||||||||||||||||||||||||||||||||
|  Copyright © 2001-2025 The PHP Group All rights reserved. | Last updated: Fri Oct 31 02:00:02 2025 UTC | 
I want to proose a fix for this bug. In etc/soap/http.c (about line 177) if (!get_http_headers(stream, &http_headers, &http_header_size TSRMLS_CC) || http_headers == NULL) { php_stream_close(stream); stream = NULL; } efree(http_headers); I think the bug is the call of efree without checking if http_headers is not null