035.phpt 430 B

12345678910111213141516171819202122232425262728
  1. --TEST--
  2. FFI 035: FFI::new() not-owned
  3. --EXTENSIONS--
  4. ffi
  5. --INI--
  6. ffi.enable=1
  7. --FILE--
  8. <?php
  9. $p = FFI::new("uint16_t[2]", false);
  10. var_dump($p);
  11. FFI::free($p);
  12. try {
  13. var_dump($p);
  14. } catch (Throwable $e) {
  15. echo get_class($e) . ": " . $e->getMessage()."\n";
  16. }
  17. ?>
  18. --EXPECTF--
  19. object(FFI\CData:uint16_t[2])#%d (2) {
  20. [0]=>
  21. int(0)
  22. [1]=>
  23. int(0)
  24. }
  25. object(FFI\CData:uint16_t[2])#%d (0) {
  26. }
  27. FFI\Exception: Use after free()