[php-src] Issue #19094: SEGV _zend_class_iterator_funcs
| From: | YuanchengJiang | Date: | Fri, 11 Jul 2025 06:09:17 +0000 |
| Subject: | [php-src] Issue #19094: SEGV _zend_class_iterator_funcs | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-250416@lists.php.net to get a copy of this message | ||
Issue: https://github.com/php/php-src/issues/19094
Author: YuanchengJiang
### Description
The following code:
```php
<?php
$cls = new MultipleIterator();
$fusion = $cls;
class Canary extends stdClass
{
}
$canary = new Canary('canary');
$fusion[$canary] = $canary;
try {$cls->key();} catch (Exception $e) { echo($e); }
```
Resulted in this output:
```
/home/phpfuzz/WorkSpace/flowfusion/php-src/ext/spl/spl_observer.c:1290:77: runtime error: member
access within null pointer of type 'zend_class_iterator_funcs' (aka 'struct
_zend_class_iterator_funcs')
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior
/home/phpfuzz/WorkSpace/flowfusion/php-src/ext/spl/spl_observer.c:1290:77 in
```
To reproduce:
```
./php-src/sapi/cli/php ./test.php
```
Commit:
```
b43a7ac0e776ef3879fb236cd3f4efa82ba2bb3b
```
Configurations:
```
CC="clang-12" CXX="clang++-12" CFLAGS="-DZEND_VERIFY_TYPE_INFERENCE"
CXXFLAGS="-DZEND_VERIFY_TYPE_INFERENCE" ./configure --enable-debug
--enable-address-sanitizer --enable-undefined-sanitizer --enable-re2c-cgoto --enable-fpm
--enable-litespeed --enable-phpdbg-debug --enable-zts --enable-bcmath --enable-calendar --enable-dba
--enable-dl-test --enable-exif --enable-ftp --enable-gd --enable-gd-jis-conv --enable-mbstring
--enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvmsg --enable-zend-test
--with-zlib --with-bz2 --with-curl --with-enchant --with-gettext --with-gmp --with-mhash --with-ldap
--with-libedit --with-readline --with-snmp --with-sodium --with-xsl --with-zip --with-mysqli
--with-pdo-mysql --with-pdo-pgsql --with-pgsql --with-sqlite3 --with-pdo-sqlite --with-webp
--with-jpeg --with-freetype --enable-sigchild --with-readline --with-pcre-jit --with-iconv
```
Operating System:
```
Ubuntu 20.04 Host, Docker 0599jiangyc/flowfusion:latest
```
*This report is automatically generated by [FlowFusion](https://github.com/php/flowfusion)*
### PHP Version
```plain
b43a7ac0e776ef3879fb236cd3f4efa82ba2bb3b
```
### Operating System
_No response_