Skip to content

Memory leaks in SPL constructors #16604

Closed
@DanielEScherzer

Description

@DanielEScherzer

Description

The following code:

<?php

$traversable = new RecursiveArrayIterator( [] );
$obj = new RecursiveIteratorIterator( $traversable );
$obj->__construct( $traversable );

Resulted in this output:

[Fri Oct 25 19:55:20 2024]  Script:  '/var/www/html/doubleConstruct.php'
/usr/src/php/ext/spl/spl_iterators.c(597) :  Freeing 0x00007f8883202b40 (56 bytes), script=/var/www/html/doubleConstruct.php
[Fri Oct 25 19:55:20 2024]  Script:  '/var/www/html/doubleConstruct.php'
/usr/src/php/Zend/zend_objects_API.h(94) :  Freeing 0x00007f888324f480 (144 bytes), script=/var/www/html/doubleConstruct.php
[Fri Oct 25 19:55:20 2024]  Script:  '/var/www/html/doubleConstruct.php'
/usr/src/php/ext/spl/spl_array.c(1645) :  Freeing 0x00007f888325f200 (96 bytes), script=/var/www/html/doubleConstruct.php
=== Total 3 memory leaks detected ===

But I expected this output instead:

[none]

Other SPL classes with this issue

  • RecursiveTreeIterator
  • SplFileObject
  • SplTempFileObject

PHP Version

8.5-dev

Operating System

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions