Bug #72793 [NEW]: xml_parser_free leaks mem when execute xml_set_object
| From: | daisukeunoz1zi at gmail dot com | Date: | Tue, 09 Aug 2016 07:17:30 +0000 |
| Subject: | Bug #72793 [NEW]: xml_parser_free leaks mem when execute xml_set_object | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-203105@lists.php.net to get a copy of this message | ||
From: daisukeunoz1zi at gmail dot com
Operating system: CentOS
PHP version: 7.0.9
Package: *XML functions
Bug Type: Bug
Bug description:xml_parser_free leaks mem when execute xml_set_object
Description:
------------
---
From manual page: http://www.php.net/function.xml-parser-free
---
The memory usage of the script below goes through the roof.
It happen only when execute "xml_set_object".
It does not happen when I execute "unset($this->parser);".
Test script:
---------------
<?php
class xml {
var $parser;
function __construct()
{
$this->parser = xml_parser_create();
xml_set_object($this->parser, $this);
}
function parse($data)
{
xml_parse($this->parser, $data);
}
function free(){
xml_parser_free($this->parser);
//unset($this->parser);
}
}
$xml_test = '<?xml version="1.0"
encoding="utf-8"?><test></test>';
for ($i = 0; $i < 100000000; $i++) {
$xml_parser = new xml();
$xml_parser->parse($xml_test);
$xml_parser->free();
unset($xml_parser);
}
?>
Expected result:
----------------
Empty output.
Actual result:
--------------
Out of memory error.
--
Edit bug report at https://bugs.php.net/bug.php?id=72793&edit=1
--
Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=72793&r=trysnapshot54
Try a snapshot (PHP 5.5): https://bugs.php.net/fix.php?id=72793&r=trysnapshot55
Try a snapshot (trunk): https://bugs.php.net/fix.php?id=72793&r=trysnapshottrunk
Fixed in SVN: https://bugs.php.net/fix.php?id=72793&r=fixed
Fixed in release: https://bugs.php.net/fix.php?id=72793&r=alreadyfixed
Need backtrace: https://bugs.php.net/fix.php?id=72793&r=needtrace
Need Reproduce Script: https://bugs.php.net/fix.php?id=72793&r=needscript
Try newer version: https://bugs.php.net/fix.php?id=72793&r=oldversion
Not developer issue: https://bugs.php.net/fix.php?id=72793&r=support
Expected behavior: https://bugs.php.net/fix.php?id=72793&r=notwrong
Not enough info: https://bugs.php.net/fix.php?id=72793&r=notenoughinfo
Submitted twice: https://bugs.php.net/fix.php?id=72793&r=submittedtwice
register_globals: https://bugs.php.net/fix.php?id=72793&r=globals
PHP 4 support discontinued: https://bugs.php.net/fix.php?id=72793&r=php4
Daylight Savings: https://bugs.php.net/fix.php?id=72793&r=dst
IIS Stability: https://bugs.php.net/fix.php?id=72793&r=isapi
Install GNU Sed: https://bugs.php.net/fix.php?id=72793&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=72793&r=float
No Zend Extensions: https://bugs.php.net/fix.php?id=72793&r=nozend
MySQL Configuration Error: https://bugs.php.net/fix.php?id=72793&r=mysqlcfg