| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | --TEST--Test V8::executeString() : Issue #250 (early free of array)--SKIPIF--<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>--FILE--<?phpclass TestObject {    private $data = [];    private $meta = [];    public function setTitle($title) {        $this->a->b->title = $title;    }    public function getData() {        return $this->data;    }    public function getMeta() {        return $this->meta;    }    public function setData($data=[]) {        $this->data = $data;    }    public function setMeta($meta) {        return;    }}$v8 = new V8Js("server");$code = <<< EOT    var v1 = server.response.getData();    var v2 = server.response.getMeta();    server.response.setData({});    server.response.setTitle("ouch");    server.response.setMeta({});EOT;$response = new TestObject();$v8->response = $response;try {    $result = $v8->executeString($code);    var_dump($v8->response);} catch (V8JsException $e) {    var_dump($e);}?>===EOF===--EXPECTF--Fatal error: Uncaught Error: Attempt to modify property "b" on null in %s%eissue_250_001.php:9Stack trace:#0 [internal function]: TestObject->setTitle('ouch')#1 %s%eissue_250_001.php(44): V8Js->executeString('    var v1 = se...')#2 {main}  thrown in %s%eissue_250_001.php on line 9
 |