]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a prepare-statement leak.
authordrh <drh@noemail.net>
Fri, 18 May 2018 16:46:09 +0000 (16:46 +0000)
committerdrh <drh@noemail.net>
Fri, 18 May 2018 16:46:09 +0000 (16:46 +0000)
FossilOrigin-Name: 95fd296ffc8130526a1453cbdca6ce47f22fc5b5c474aa31d66b627d0c7393a1

ext/rtree/rtree.c
ext/rtree/rtree1.test
manifest
manifest.uuid

index e569c94ace321ca09a11ed5367cc3989ddb764ae..b39e5801b2705ad71dc5161c21b52099ffbc5b43 100644 (file)
@@ -1727,6 +1727,7 @@ static int rtreeFilter(
   /* Reset the cursor to the same state as rtreeOpen() leaves it in. */
   freeCursorConstraints(pCsr);
   sqlite3_free(pCsr->aPoint);
+  sqlite3_finalize(pCsr->pReadAux);
   memset(pCsr, 0, sizeof(RtreeCursor));
   pCsr->base.pVtab = (sqlite3_vtab*)pRtree;
 
index ed154cd3a3351cc303240e40b34423e6238dd27f..a8ebf206259559df0551a571c092ac7bca214a7f 100644 (file)
@@ -637,9 +637,15 @@ do_test 16.120 {
   catchsql $sql
 } {1 {Too many columns for an rtree table}}
 
-
-
-
+do_execsql_test 16.130 {
+  DROP TABLE IF EXISTS rt1;
+  CREATE VIRTUAL TABLE rt1 USING rtree(id, x1, x2, +aux);
+  INSERT INTO rt1 VALUES(1, 1, 2, 'aux1');
+  INSERT INTO rt1 VALUES(2, 2, 3, 'aux2');
+  INSERT INTO rt1 VALUES(3, 3, 4, 'aux3');
+  INSERT INTO rt1 VALUES(4, 4, 5, 'aux4');
+  SELECT * FROM rt1 WHERE id IN (1, 2, 3, 4);
+} {1 1.0 2.0 aux1 2 2.0 3.0 aux2 3 3.0 4.0 aux3 4 4.0 5.0 aux4}
 
 expand_all_sql db
 finish_test
index becef9015315647255d7b34124e2cd8b10fd2fe7..f963313acd6657fdb4a83df4485a46f809ad5e97 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Improved\serror\smessages.\s\sLimit\sthe\snumber\sof\sauxiliary\scolumns\sto\s100.
-D 2018-05-18T15:21:43.725
+C Fix\sa\sprepare-statement\sleak.
+D 2018-05-18T16:46:09.315
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F Makefile.in bfc40f350586923e0419d2ea4b559c37ec10ee4b6e210e08c14401f8e340f0da
@@ -355,9 +355,9 @@ F ext/repair/test/checkfreelist01.test 3e8aa6aeb4007680c94a8d07b41c339aa635cc782
 F ext/repair/test/checkindex01.test 6945d0ffc0c1dc993b2ce88036b26e0f5d6fcc65da70fc9df27c2647bb358b0f
 F ext/repair/test/test.tcl 686d76d888dffd021f64260abf29a55c57b2cedfa7fc69150b42b1d6119aac3c
 F ext/rtree/README 6315c0d73ebf0ec40dedb5aa0e942bc8b54e3761
-F ext/rtree/rtree.c b590972cdca5595fcd494697328971d7b142b9345ed8145fab2ca5e93286a3a0
+F ext/rtree/rtree.c 22f70cfd945a35f22c825dd33a387f8e4a760e836dbdb5b53c8604c013baa70b
 F ext/rtree/rtree.h 4a690463901cb5e6127cf05eb8e642f127012fd5003830dbc974eca5802d9412
-F ext/rtree/rtree1.test 0300c431a6b78a59ca001af22f2e9ae4f54ccb7139cae1b70d654e4403f4d233
+F ext/rtree/rtree1.test 587889855b26fb8637417921b0709ca843cb6d36db94a882371fd8b7dcc3aa0b
 F ext/rtree/rtree2.test 5f25b01acd03470067a2d52783b2eb0a50bf836803d4342d20ca39e541220fe2
 F ext/rtree/rtree3.test 4ee5d7df86040efe3d8d84f141f2962a7745452200a7cba1db06f86d97050499
 F ext/rtree/rtree4.test 304de65d484540111b896827e4261815e5dca4ce28eeecd58be648cd73452c4b
@@ -1729,7 +1729,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 46715136078a51ca7dd08b83214d6ad0e85728af8a26cd342077b8dd4ada1d60
-R b5f8deb455b8613a5ff615c4f1065cf5
+P 059d20abd57727e6d312f15b640359ef778786f577d9b50b17b57195db2d0aef
+R 94d7d699dafad8b4359ea156ee884062
 U drh
-Z 905a75dcd2e1b90246040880bfb14954
+Z c84439bc3f7cc8054f4dee343e2e07a0
index d66723f675f72a24964c3550db877fe67c19f18b..a1b0e94190244a31b1c500e45fdcafb77c0cf86e 100644 (file)
@@ -1 +1 @@
-059d20abd57727e6d312f15b640359ef778786f577d9b50b17b57195db2d0aef
\ No newline at end of file
+95fd296ffc8130526a1453cbdca6ce47f22fc5b5c474aa31d66b627d0c7393a1
\ No newline at end of file