bug79151.phpt 567 B

123456789101112131415161718192021222324252627
  1. --TEST--
  2. Bug #79151: heap use after free caused by spl_dllist_it_helper_move_forward
  3. --FILE--
  4. <?php
  5. $a = new SplDoublyLinkedList();
  6. $a->setIteratorMode(SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_DELETE);
  7. $a->push(1);
  8. $a->rewind();
  9. $a->unshift(2);
  10. var_dump($a->pop());
  11. var_dump($a->next());
  12. $a = new SplDoublyLinkedList();
  13. $a->setIteratorMode(SplDoublyLinkedList::IT_MODE_FIFO | SplDoublyLinkedList::IT_MODE_DELETE);
  14. $a->unshift(1);
  15. $a->rewind();
  16. $a->push(2);
  17. var_dump($a->shift());
  18. var_dump($a->next());
  19. ?>
  20. --EXPECT--
  21. int(1)
  22. NULL
  23. int(1)
  24. NULL