|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2017-07-29 15:51 UTC] bd808@php.net
-Status: Open
+Status: Closed
-Assigned To:
+Assigned To: bd808
[2017-07-29 15:51 UTC] bd808@php.net
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sun Nov 16 23:00:01 2025 UTC |
Description: ------------ Each yaml_parse() method call with callback parameter doesn't free allocated memory. When script is running for a long time fatal errors occurs. It reproduce only with callback parameter. Even with empty array. YAML Extension version 2.0.0 LibYAML version 0.1.6 [PHP Modules] Core ctype curl date dom fileinfo filter ftp hash iconv json libxml mbstring mysqlnd openssl pcre PDO pdo_sqlite Phar posix readline Reflection session SimpleXML SPL sqlite3 standard tokenizer xml xmlreader xmlwriter yaml zlib Test script: --------------- php -r '$input="array:\n key: !callback value\n"; $iterationsNumber=10; $ndocs=0; $i=0; function callback() {return "callback value";} $baseMemory=memory_get_usage(); while ($i<$iterationsNumber) {$i++; yaml_parse($input, 0, $ndocs, ["!callback" => "callback"]);$memory=memory_get_usage();echo "Memory consumed: ".$memory." Delta: ".($memory - $baseMemory)."\n";}'