bug77669.phpt 776 B

1234567891011121314151617181920212223242526272829303132333435
  1. --TEST--
  2. Bug #77669: Crash in extract() when overwriting extracted array
  3. --FILE--
  4. <?php
  5. function test($mode) {
  6. $foo = [];
  7. $foo["foo"] = 42;
  8. $foo["bar"] = 24;
  9. extract($foo, $mode, "");
  10. $prefix_foo = [];
  11. $prefix_foo["foo"] = 42;
  12. $prefix_foo["bar"] = 24;
  13. extract($prefix_foo, $mode, "prefix");
  14. }
  15. test(EXTR_OVERWRITE);
  16. test(EXTR_SKIP);
  17. test(EXTR_IF_EXISTS);
  18. test(EXTR_PREFIX_SAME);
  19. test(EXTR_PREFIX_ALL);
  20. test(EXTR_PREFIX_INVALID);
  21. test(EXTR_PREFIX_IF_EXISTS);
  22. test(EXTR_REFS | EXTR_OVERWRITE);
  23. test(EXTR_REFS | EXTR_SKIP);
  24. test(EXTR_REFS | EXTR_IF_EXISTS);
  25. test(EXTR_REFS | EXTR_PREFIX_SAME);
  26. test(EXTR_REFS | EXTR_PREFIX_ALL);
  27. test(EXTR_REFS | EXTR_PREFIX_INVALID);
  28. test(EXTR_REFS | EXTR_PREFIX_IF_EXISTS);
  29. ?>
  30. ===DONE===
  31. --EXPECT--
  32. ===DONE===