History log of /PHP-8.2/ext/dom/tests/entity_reference_stale_01.phpt (Results 1 – 1 of 1)
Revision Date Author Comments
# e878b9f3 30-Apr-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix crashes when entity declaration is removed while still having entity references

libxml doesn't do reference counting inside its node types. It's
possible to remove an entity declarat

Fix crashes when entity declaration is removed while still having entity references

libxml doesn't do reference counting inside its node types. It's
possible to remove an entity declaration out of the document, but then
entity references will keep pointing to that stale declaration. This
will cause crashes.

One idea would be to check when a declaration is removed, to trigger a
hook that updates all references. However this means we have to keep
track of all references somehow, which would be a high-overhead
solution. The solution in this patch makes sure that the fields are
always updated before they are read.

Closes GH-14089.

show more ...