bug80268_2.phpt 797 B

12345678910111213141516171819202122232425262728293031
  1. --TEST--
  2. Bug #80268 (loadHTML() truncates at NUL bytes)
  3. --EXTENSIONS--
  4. dom
  5. --SKIPIF--
  6. <?php
  7. if (LIBXML_VERSION < 20912) die('skip For libxml2 >= 2.9.12 only');
  8. ?>
  9. --FILE--
  10. <?php
  11. $doc = new DOMDocument;
  12. $doc->loadHTML("<p>foo\0bar</p>");
  13. $html = $doc->saveHTML();
  14. var_dump(strpos($html, '<p>foo</p>') !== false);
  15. file_put_contents(__DIR__ . '/80268.html', "<p>foo\0bar</p>");
  16. $doc = new DOMDocument;
  17. $doc->loadHTMLFile(__DIR__ . '/80268.html');
  18. $html = $doc->saveHTML();
  19. var_dump(strpos($html, '<p>foo</p>') !== false);
  20. ?>
  21. --CLEAN--
  22. <?php
  23. unlink(__DIR__ . '/80268.html');
  24. ?>
  25. --EXPECTF--
  26. Warning: DOMDocument::loadHTML(): Char 0x0 out of allowed range in Entity, line: 1 in %s on line %d
  27. bool(false)
  28. Warning: DOMDocument::loadHTMLFile(): Char 0x0 out of allowed range in %s on line %d
  29. bool(false)