Bug #14783: Using unlink causes segfault
| From: | mfkahn2 at yahoo dot com | Date: | Mon, 31 Dec 2001 21:16:29 +0000 |
| Subject: | Bug #14783: Using unlink causes segfault | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-75461@lists.php.net to get a copy of this message | ||
From: mfkahn2@yahoo.com
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