Justtechjobs.com Find a programming school near you






Online Campus Both


php-developer-list | 2001122

[PHP-DEV] Bug #14783: Using unlink causes segfault From: mfkahn2 <email protected>
Date: 12/31/01

From: mfkahn2 <email protected>
Operating system: RH6.2/Apache/libxml2.4.12
PHP version: 4.1.1
PHP Bug Type: DOM XML related
Bug description: Using unlink causes segfault

Symptoms:
- using unlink() causes segfault

Script to reproduce:

<?php
$xml = <<<END_XML
<?xml version="1.0"?>
<test>
        <foo id="x">Hello</foo>
        <foo id="y">World</foo>
</test>
END_XML;
$dom = xmldoc($xml);

// this so I can see it.
header('Content-type: text/plain');

$ctx = $dom->xpath_new_context();

$res = xpath_eval($ctx,"//foo");

foreach ($res->nodeset as $child) {
        $child->unlink();
}

echo $dom->dumpmem();
?>

Other notes:

- some cursory debugging I did suggested that it was the cleanup routines
at the end of the script that were causing the crash. Looking at
php_domxml.c, the recursive node memory cleanup appears to be choking on a
pointer already freed during the unlink() call.

-- 
Edit bug report at: http://bugs.php.net/?id=14783&edit=1

-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe <email protected> For additional commands, e-mail: php-dev-help <email protected> To contact the list administrators, e-mail: php-list-admin <email protected>