bug54601.phpt 688 B

1234567891011121314151617181920212223242526272829
  1. --TEST--
  2. Segfault when removing the Doctype node
  3. --SKIPIF--
  4. <?php require_once('skipif.inc'); ?>
  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. ===DONE===
  23. <?php exit(0); ?>
  24. --EXPECTF--
  25. DOMDocumentType
  26. <?xml version="1.0" encoding="utf-8"?>
  27. <set><foo>footext</foo><bar>bartext</bar></set>
  28. ===DONE===