bug54601.phpt 618 B

1234567891011121314151617181920212223242526
  1. --TEST--
  2. Segfault when removing the Doctype node
  3. --EXTENSIONS--
  4. dom
  5. --FILE--
  6. <?php
  7. $xml = <<< XML
  8. <?xml version='1.0' encoding='utf-8' ?>
  9. <!DOCTYPE set PUBLIC "-//OASIS//DTD DocBook XML V5.0//EN" "http://www.docbook.org/xml/5.0/dtd/docbook.dtd" [
  10. <!ENTITY foo '<foo>footext</foo>'>
  11. <!ENTITY bar '<bar>bartext</bar>'>
  12. ]>
  13. <set>&foo;&bar;</set>
  14. XML;
  15. $doc = new DOMDocument();
  16. $doc->loadXML($xml, LIBXML_NOENT);
  17. $n = $doc->doctype;
  18. $doc->removeChild($n);
  19. echo get_class($n), "\n";
  20. print $doc->saveXML();
  21. ?>
  22. --EXPECT--
  23. DOMDocumentType
  24. <?xml version="1.0" encoding="utf-8"?>
  25. <set><foo>footext</foo><bar>bartext</bar></set>