From: [EMAIL PROTECTED] Operating system: linux PHP version: 4.3.0 PHP Bug Type: Reproducible crash Bug description: Php SegFault
$php file.php Segmentation fault $ ---file.php--- <? class zactivbox { var $network; var $proxy; var $basename; var $dom; var $e_zactivbox; function zactivbox (&$dom, $basename, $network, $proxy) { $this->dom=& $dom; $this->basename=$basename; $this->network=$network; $this->proxy=$proxy; } function &write_xml () { $this->e_zactivbox=$this->dom->create_element('zactivbox'); $this->e_zactivbox->set_attribute('basename', $this->basename); $this->e_zactivbox->append_child($network); $this->e_zactivbox->append_child($proxy); return $this->e_zactivbox; } } class network { var $servers; //array of server var $route; var $resolver; var $dom; var $e_network; function network (&$dom, $servers, $route, $resolver) { $this->dom=& $dom; $this->servers=$servers; $this->route=$route; $this->resolver=$resolver; } function &write_xml() { $this->e_network=$this->dom->create_element('network'); foreach($this->servers as $key => $server) { $this->e_network->append_child($server); } $this->e_network->append_child($this->route); $this->e_network->append_child($this->resolver); return $this->e_network; } } class resolver { var $domain; var $search; var $nameserver; var $dom; var $e_resolver; function resolver (&$dom, $nameserver, $domain='', $search='') { $this->dom=& $dom; $this->domain=$domain; $this->search=$search; $this->nameserver=$nameserver; } function &write_xml() { $this->e_resolver=$this->dom->create_element('resolver'); $e_domain=$this->dom->create_element('domain'); $t_domain=$this->dom->create_text_node($this->domain); $e_domain->append_child($t_domain); $this->e_resolver->append_child($e_domain); $e_search=$this->dom->create_element('search'); $t_search=$this->dom->create_text_node($this->search); $e_search->append_child($t_search); $this->e_resolver->append_child($e_search); $t_nameserver=$this->dom->create_text_node($this->nameserver); $e_nameserver=$this->dom->create_element('nameserver'); $e_nameserver->append_child($t_nameserver); $this->e_resolver->append_child($e_nameserver); return $this->e_resolver; } } class route { var $destination; var $iface; var $ip; var $dom; var $e_route; function route (&$dom, $destination, $ip, $iface) { $this->dom=& $dom; $this->destination=$destination; $this->ip=$ip; $this->iface=$iface; } function &write_xml() { $this->e_route=$this->dom->create_element('route'); $this->e_route->set_attribute('destination', $this->destination); $e_iface=$this->dom->create_element('iface'); $t_iface=$this->dom->create_text_node($this->iface); $e_iface->append_child($t_iface); $this->e_route->append_child($e_iface); $e_ip=$this->dom->create_element('ip'); $t_ip=$this->dom->create_text_node($this->ip); $e_ip->append_child($t_ip); $this->e_route->append_child($e_ip); return $this->e_route; } } class interface { var $iface; var $ip; var $broadcast; var $netmask; var $mode; var $position; var $type; var $dom; var $e_interface; function &interface (&$dom, $iface, $ip, $broadcast, $netmask, $mode='', $position='', $type='') { $this->dom=& $dom; $this->iface=$iface; $this->ip=$ip; $this->broadcast=$broadcast; $this->netmask=$netmask; $this->mode=$mode; $this->position=$position; $this->type=$type; } function &write_xml() { $this->e_interface=$this->dom->create_element('interface'); if ( $this->mode != '' ) { $this->e_interface->set_attribute('mode', $this->mode); } if ( $this->position != '' ) { $this->e_interface->set_attribute('position', $this->position); } if ( $this->type != '' ) { $this->e_interface->set_attribute('type', $this->type); } $e_iface=$this->dom->create_element('iface'); $t_iface=$this->dom->create_text_node($this->iface); $e_iface->append_child($t_iface); $this->e_interface->append_child($e_iface); $e_ip=$this->dom->create_element('ip'); $t_ip=$this->dom->create_text_node($this->ip); $e_ip->append_child($t_ip); $this->e_interface->append_child($e_ip); $e_broadcast=$this->dom->create_element('broadcast'); $t_broadcast=$this->dom->create_text_node($this->broadcast); $e_broadcast->append_child($t_broadcast); $this->e_interface->append_child($e_broadcast); $e_netmask=$this->dom->create_element('netmask'); $t_netmask=$this->dom->create_text_node($this->netmask); $e_netmask->append_child($t_netmask); $this->e_interface->append_child($e_netmask); return $this->e_interface; } } $dom=domxml_new_doc('1.0'); $int_eth0=new interface($dom,'eth0', $HTTP_GET_VARS['front_ip'], $HTTP_GET_VARS['front_broadcast'], $HTTP_GET_VARS['front_netmask'],'master', 'front'); $int_eth1=new interface($dom,'eth1', $HTTP_GET_VARS['back_ip'], $HTTP_GET_VARS['back_broadcast'], $HTTP_GET_VARS['back_netmask'],'master', 'back'); $route=new route($dom,'default', $HTTP_GET_VARS['gateway'],'eth0'); $resolver=new resolver($dom, $HTTP_GET_VARS['nameserver'],$HTTP_GET_VARS['domain'],""); $int_eth0=$int_eth0->write_xml(); $int_eth1=$int_eth1->write_xml(); $route=$route->write_xml(); $resolver=$resolver->write_xml(); $seb=array($int_eth0,$int_eth1); $network=new network($dom,$seb,$route,$resolver); $network=$network->write_xml(); /* $zactivbox=new zactivbox($dom, "pssl", $network, $proxy); $zactivbox->write_xml(); $dom->dump_file('./zactivbox.xml',false,true); */ ?> -- Edit bug report at http://bugs.php.net/?id=21983&edit=1 -- Try a CVS snapshot: http://bugs.php.net/fix.php?id=21983&r=trysnapshot Fixed in CVS: http://bugs.php.net/fix.php?id=21983&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=21983&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=21983&r=needtrace Try newer version: http://bugs.php.net/fix.php?id=21983&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=21983&r=support Expected behavior: http://bugs.php.net/fix.php?id=21983&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=21983&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=21983&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=21983&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=21983&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=21983&r=dst IIS Stability: http://bugs.php.net/fix.php?id=21983&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=21983&r=gnused