diff options
author | Christoph M. Becker <cmbecker69@gmx.de> | 2016-11-16 12:08:16 +0100 |
---|---|---|
committer | Christoph M. Becker <cmbecker69@gmx.de> | 2016-11-16 12:08:16 +0100 |
commit | 07ed7b51981362bbda4c084b2092753e57f1770d (patch) | |
tree | 33100c410ccfa4cc1d45498007b9b5615b287671 | |
parent | 1114a337a5f5d70dc0c00623a4e34b505c55e7f3 (diff) | |
parent | c5abb873221e549f02ba0a7bbcc0a47e036e681e (diff) | |
download | php-git-07ed7b51981362bbda4c084b2092753e57f1770d.tar.gz |
Merge branch 'PHP-7.1'
-rw-r--r-- | ext/sqlite3/sqlite3.c | 3 | ||||
-rw-r--r-- | ext/sqlite3/tests/bug73530.phpt | 32 |
2 files changed, 32 insertions, 3 deletions
diff --git a/ext/sqlite3/sqlite3.c b/ext/sqlite3/sqlite3.c index 07949a9d5e..c4701c0009 100644 --- a/ext/sqlite3/sqlite3.c +++ b/ext/sqlite3/sqlite3.c @@ -2151,9 +2151,6 @@ static void php_sqlite3_result_object_free_storage(zend_object *object) /* {{{ * } if (!Z_ISNULL(intern->stmt_obj_zval)) { - if (intern->stmt_obj && intern->stmt_obj->initialised) { - sqlite3_reset(intern->stmt_obj->stmt); - } zval_ptr_dtor(&intern->stmt_obj_zval); } diff --git a/ext/sqlite3/tests/bug73530.phpt b/ext/sqlite3/tests/bug73530.phpt new file mode 100644 index 0000000000..7e17dfecd3 --- /dev/null +++ b/ext/sqlite3/tests/bug73530.phpt @@ -0,0 +1,32 @@ +--TEST--
+Bug #73530 (Unsetting result set may reset other result set)
+--SKIPIF--
+<?php
+if (!extension_loaded('sqlite3')) die('skip sqlite3 extension not available');
+?>
+--FILE--
+<?php
+$db = new SQLite3(':memory:');
+$db->exec("CREATE TABLE foo (num int)");
+$db->exec("INSERT INTO foo VALUES (0)");
+$db->exec("INSERT INTO foo VALUES (1)");
+$stmt = $db->prepare("SELECT * FROM foo WHERE NUM = ?");
+$stmt->bindValue(1, 0, SQLITE3_INTEGER);
+$res1 = $stmt->execute();
+$res1->finalize();
+$stmt->clear();
+$stmt->reset();
+$stmt->bindValue(1, 1, SQLITE3_INTEGER);
+$res2 = $stmt->execute();
+while ($row = $res2->fetchArray(SQLITE3_ASSOC)) {
+ var_dump($row);
+ unset($res1);
+}
+?>
+===DONE===
+--EXPECT--
+array(1) {
+ ["num"]=>
+ int(1)
+}
+===DONE===
|