#31203 [NEW]: Segfault in zend_execute_API.c:599

2004-12-20 Thread nkukard at lbsd dot net
From: nkukard at lbsd dot net
Operating system: Linux
PHP version:  5.0.3
PHP Bug Type: Reproducible crash
Bug description:  Segfault in zend_execute_API.c:599

Description:

Using horde (cvs) and imp (cvs), i get a sefault in php.



Reproduce code:
---
download horde cvs  imp cvs, close browser, reopen browser and try login

Actual result:
--
#0  0xb777f526 in zend_call_function (fci=0xbfff60b0, fci_cache=0x0)
at /var/tmp/nkukard-php-build/php-5.0.3/Zend/zend_execute_API.c:599
#1  0xb7780075 in call_user_function_ex (function_table=0xbfff6118,
object_pp=0xbfff6118,
function_name=0xbfff6118, retval_ptr_ptr=0xbfff6118,
param_count=3221184792, params=0xbfff6118,
no_separation=-1073782504, symbol_table=0xbfff6118)
at /var/tmp/nkukard-php-build/php-5.0.3/Zend/zend_execute_API.c:551
#2  0xb77800d9 in call_user_function (function_table=0x8212f38,
object_pp=0x0, function_name=0x29,
retval_ptr=0xbfff6160, param_count=0, params=0xbfff6158)
at /var/tmp/nkukard-php-build/php-5.0.3/Zend/zend_execute_API.c:526
#3  0xb76e26ca in array_user_key_compare (a=0xbfff6118, b=0xbfff6118)
at /var/tmp/nkukard-php-build/php-5.0.3/ext/standard/array.c:688
#4  0xb779858e in zend_qsort (base=0x29, nmemb=41, siz=4,
compare=0xb76e2630 array_user_key_compare)
at /var/tmp/nkukard-php-build/php-5.0.3/Zend/zend_qsort.c:86
#5  0xb7792ada in zend_hash_sort (ht=0x8a4b40c, sort_func=0xb77984e0
zend_qsort,
compar=0xb76e2630 array_user_key_compare, renumber=0)
at /var/tmp/nkukard-php-build/php-5.0.3/Zend/zend_hash.c:1134
#6  0xb76e286a in zif_uksort (ht=2, return_value=0x8a4d7a4, this_ptr=0x0,
return_value_used=0)
at /var/tmp/nkukard-php-build/php-5.0.3/ext/standard/array.c:723
#7  0xb77bf30e in zend_do_fcall_common_helper (execute_data=0xbfff64d0,
opline=0x8a48ff8, op_array=0x8a47da4)
at /var/tmp/nkukard-php-build/php-5.0.3/Zend/zend_execute.c:2711
#8  0xb77bf62d in zend_do_fcall_handler (execute_data=0xbfff64d0,
opline=0x8a48ff8, op_array=0x8a47da4)
at /var/tmp/nkukard-php-build/php-5.0.3/Zend/zend_execute.c:2843
#9  0xb77ad7db in execute (op_array=0x8a47da4)
at /var/tmp/nkukard-php-build/php-5.0.3/Zend/zend_execute.c:1400
#10 0xb77bee12 in zend_do_fcall_common_helper (execute_data=0xbfff6850,
opline=0x8992d90, op_array=0x89355ec)
at /var/tmp/nkukard-php-build/php-5.0.3/Zend/zend_execute.c:2740
#11 0xb77bf529 in zend_do_fcall_by_name_handler (execute_data=0xbfff6118,
opline=0x8992d90,
op_array=0x89355ec) at
/var/tmp/nkukard-php-build/php-5.0.3/Zend/zend_execute.c:2825
#12 0xb77ad7db in execute (op_array=0x89355ec)
at /var/tmp/nkukard-php-build/php-5.0.3/Zend/zend_execute.c:1400
#13 0xb77bee12 in zend_do_fcall_common_helper (execute_data=0xbfff6d50,
opline=0x89621cc, op_array=0x8933e14)
at /var/tmp/nkukard-php-build/php-5.0.3/Zend/zend_execute.c:2740
#14 0xb77bf529 in zend_do_fcall_by_name_handler (execute_data=0xbfff6118,
opline=0x89621cc,
op_array=0x8933e14) at
/var/tmp/nkukard-php-build/php-5.0.3/Zend/zend_execute.c:2825
#15 0xb77ad7db in execute (op_array=0x8933e14)
at /var/tmp/nkukard-php-build/php-5.0.3/Zend/zend_execute.c:1400
#16 0xb77bee12 in zend_do_fcall_common_helper (execute_data=0xbfff7670,
opline=0x898f9e0, op_array=0x89353ac)
at /var/tmp/nkukard-php-build/php-5.0.3/Zend/zend_execute.c:2740
#17 0xb77bf529 in zend_do_fcall_by_name_handler (execute_data=0xbfff6118,
opline=0x898f9e0,
op_array=0x89353ac) at
/var/tmp/nkukard-php-build/php-5.0.3/Zend/zend_execute.c:2825
#18 0xb77ad7db in execute (op_array=0x89353ac)
at /var/tmp/nkukard-php-build/php-5.0.3/Zend/zend_execute.c:1400
---Type return to continue, or q return to quit---
#19 0xb77bee12 in zend_do_fcall_common_helper (execute_data=0xbfff7f80,
opline=0x89670f8, op_array=0x8934054)
at /var/tmp/nkukard-php-build/php-5.0.3/Zend/zend_execute.c:2740
#20 0xb77bf529 in zend_do_fcall_by_name_handler (execute_data=0xbfff6118,
opline=0x89670f8,
op_array=0x8934054) at
/var/tmp/nkukard-php-build/php-5.0.3/Zend/zend_execute.c:2825
#21 0xb77ad7db in execute (op_array=0x8934054)
at /var/tmp/nkukard-php-build/php-5.0.3/Zend/zend_execute.c:1400
#22 0xb77bee12 in zend_do_fcall_common_helper (execute_data=0xbfff8620,
opline=0x897d5a4, op_array=0x8934824)
at /var/tmp/nkukard-php-build/php-5.0.3/Zend/zend_execute.c:2740
#23 0xb77bf529 in zend_do_fcall_by_name_handler (execute_data=0xbfff6118,
opline=0x897d5a4,
op_array=0x8934824) at
/var/tmp/nkukard-php-build/php-5.0.3/Zend/zend_execute.c:2825
#24 0xb77ad7db in execute (op_array=0x8934824)
at /var/tmp/nkukard-php-build/php-5.0.3/Zend/zend_execute.c:1400
#25 0xb77bee12 in zend_do_fcall_common_helper (execute_data=0xbfff8a60,
opline=0x8938c8c, op_array=0x8927b64)
at /var/tmp/nkukard-php-build/php-5.0.3/Zend/zend_execute.c:2740
#26 0xb77bf529 in zend_do_fcall_by_name_handler (execute_data=0xbfff6118,
opline=0x8938c8c,
op_array=0x8927b64) at
/var/tmp/nkukard-php-build/php

#30217 [NEW]: XML RPC 1.1.0 doesn't operate over ssl properly

2004-09-24 Thread nkukard at lbsd dot net
From: nkukard at lbsd dot net
Operating system: Linux
PHP version:  5.0.1
PHP Bug Type: XML related
Bug description:  XML RPC 1.1.0 doesn't operate over ssl properly

Description:

XML RPC doesn't allow for communication over ssl and uses the incorrect
information in the http headers.

Here is a patch to fix the problem...

diff -u --recursive XML_RPC-1.1.0_vanilla/RPC.php
XML_RPC-1.1.0_xmlrpcssl/RPC.php
--- XML_RPC-1.1.0_vanilla/RPC.php   2004-03-15 15:51:44.0
+0200
+++ XML_RPC-1.1.0_xmlrpcssl/RPC.php 2004-05-01 18:54:11.991190696
+0200
@@ -452,16 +452,37 @@
 {
 // If we're using a proxy open a socket to the proxy server
instead to the xml-rpc server
 if ($this-proxy){
+$proxy_server = $this-proxy;
+$proxy_proto = ;
+if (strstr($proxy_server,https://;))
+{
+$proxy_server = substr($proxy_server,8);
+$proxy_proto = ssl://;
+}
+// Backward compatibility
+if (!strstr($proxy_server,http://;))
+{
+$server = http://; . $server;
+}
 if ($timeout  0) {
-$fp = fsockopen($this-proxy, $this-proxy_port,
$this-errno, $this-errstr, $timeout);
+$fp = fsockopen($proxy_proto . $this-proxy,
$this-proxy_port, $this-errno, $this-errstr, $timeout);
 } else {
-$fp = fsockopen($this-proxy, $this-proxy_port,
$this-errno, $this-errstr);
+$fp = fsockopen($proxy_proto . $this-proxy,
$this-proxy_port, $this-errno, $this-errstr); }
 } else {
+$server_proto = ;
+if (strstr($server,https://;))
+{
+$server = substr($server,8);
+$server_proto = ssl://;
+} elseif (strstr($server,http://;))
+{
+$server = substr($server,7);
+}
 if ($timeout  0) {
-$fp = fsockopen($server, $port, $this-errno,
$this-errstr, $timeout);
+$fp = fsockopen($server_proto . $server, $port,
$this-errno, $this-errstr, $timeout);
 } else {
-$fp = fsockopen($server, $port, $this-errno,
$this-errstr);
+$fp = fsockopen($server_proto . $server, $port,
$this-errno, $this-errstr);
 }
 }

@@ -489,7 +510,7 @@


 if ($this-proxy) {
-$op = POST http://; . $this-server;
+$op = POST . $server;

 if ($this-proxy_port) {
 $op .= : . $this-port;
@@ -500,7 +521,7 @@

 $op .= $this-path.  HTTP/1.0\r\n .
User-Agent: PEAR XML_RPC\r\n .
-   Host:  . $this-server . \r\n;
+   Host:  . $server . \r\n;
 if ($this-proxy  $this-proxy_user != '') {
 $op .= 'Proxy-Authorization: Basic ' .
 base64_encode($this-proxy_user . ':' .
$this-proxy_pass) .
@@ -660,7 +681,7 @@
 {
 $ipd = ;

-while($data = fread($fp, 32768)) {
+while($data = @fread($fp, 32768)) {
 $ipd .= $data;
 }
 return $this-parseResponse($ipd);



-- 
Edit bug report at http://bugs.php.net/?id=30217edit=1
-- 
Try a CVS snapshot (php4):   http://bugs.php.net/fix.php?id=30217r=trysnapshot4
Try a CVS snapshot (php5.0): http://bugs.php.net/fix.php?id=30217r=trysnapshot50
Try a CVS snapshot (php5.1): http://bugs.php.net/fix.php?id=30217r=trysnapshot51
Fixed in CVS:http://bugs.php.net/fix.php?id=30217r=fixedcvs
Fixed in release:http://bugs.php.net/fix.php?id=30217r=alreadyfixed
Need backtrace:  http://bugs.php.net/fix.php?id=30217r=needtrace
Need Reproduce Script:   http://bugs.php.net/fix.php?id=30217r=needscript
Try newer version:   http://bugs.php.net/fix.php?id=30217r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=30217r=support
Expected behavior:   http://bugs.php.net/fix.php?id=30217r=notwrong
Not enough info: http://bugs.php.net/fix.php?id=30217r=notenoughinfo
Submitted twice: http://bugs.php.net/fix.php?id=30217r=submittedtwice
register_globals:http://bugs.php.net/fix.php?id=30217r=globals
PHP 3 support discontinued:  http://bugs.php.net/fix.php?id=30217r=php3
Daylight Savings:http://bugs.php.net/fix.php?id=30217r=dst
IIS Stability:   http://bugs.php.net/fix.php?id=30217r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=30217r=gnused
Floating point limitations:  http://bugs.php.net/fix.php?id=30217r=float
MySQL Configuration Error:   http://bugs.php.net/fix.php?id=30217r=mysqlcfg