bug79451.phpt 520 B

1234567891011121314151617181920
  1. --TEST--
  2. Bug #79451 (Using DOMDocument->replaceChild on doctype causes double free)
  3. --EXTENSIONS--
  4. dom
  5. --FILE--
  6. <?php
  7. $dom = new \DOMDocument();
  8. $dom->loadHTML("<!DOCTYPE html><p>hello</p>");
  9. $impl = new \DOMImplementation();
  10. $dt = $impl->createDocumentType("html_replace", "", "");
  11. $dom->replaceChild($dt, $dom->doctype);
  12. var_dump($dom->doctype->name);
  13. echo $dom->saveXML();
  14. ?>
  15. --EXPECTF--
  16. string(12) "html_replace"
  17. <?xml version="1.0" standalone="yes"?>
  18. <!DOCTYPE html_replace>
  19. <html><body><p>hello</p></body></html>