Skip to content

unreachable program point in zend_hash #17187

Closed
@chongwick

Description

@chongwick

Description

The following code:

<?php
class ImmutableParser {
    private $parser;
    private $immutableData;

    public function __construct() {
        $this->parser = xml_parser_create();
        xml_set_element_handler($this->parser, function ($parser, $name, $attrs) {
            echo "open\n";
            var_dump($name, $attrs);
            $this->immutableData = array();
        }, function ($parser, $name) {
            echo "close\n";
            var_dump($name);
        });
    }

    public function parseXml($xml) {
        $this->immutableData = array();
        xml_parse_into_struct($this->parser, $xml, $this->immutableData, $this->immutableData);
        return $this->immutableData;
    }
}
$immutableParser = new ImmutableParser();
$xml = "<container><child/></container>";
$immutableData = $immutableParser->parseXml($xml);
?>

Resulted in this output:

/home/dan/php-src/Zend/zend_hash.c:807:3: runtime error: execution reached an unreachable program point

ZEND_ASSERT(idx < HT_IDX_TO_HASH(ht->nTableSize));

PHP Version

8.4.1

Operating System

Ubuntu 22.04

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions