Bug #79987 [Opn->Asn]: Memory leak in SplFileInfo because of missing zend_restore_error_handling()

From: Date: Tue, 18 Aug 2020 08:00:53 +0000
Subject: Bug #79987 [Opn->Asn]: Memory leak in SplFileInfo because of missing zend_restore_error_handling()
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-228631@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=79987&edit=1 ID: 79987 Updated by: dmitry@php.net Reported by: dmitry@php.net Summary: Memory leak in SplFileInfo because of missing zend_restore_error_handling() -Status: Open +Status: Assigned Type: Bug Package: SPL related Operating System: * PHP Version: 8.0Git-2020-08-18 (Git) -Assigned To: +Assigned To: dmitry Block user comment: N Private report: N Previous Comments: ------------------------------------------------------------------------ [2020-08-18 08:00:31] dmitry@php.net Description: ------------ Some SplFileInfo methods don't restore original error handler in exceptional cases. This leads to memory leaks. Test script: --------------- <?php class BadSplFileInfo extends SplFileInfo { public function __construct() { } } $x = new BadSplFileInfo(); set_error_handler(function ($type, $msg, $file, $line, $context = []) { echo "ops\n"; }); try { var_dump($x->getLinkTarget()); } catch (Throwable $e) { echo $e->getMessage() . "\n"; } ?> Expected result: ---------------- Object not initialized Actual result: -------------- Object not initialized Zend/zend_closures.c(479) : Freeing 0xf3c5d380 (204 bytes) ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=79987&edit=1

« previous php.bugs (#228631) next »