1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-29 08:01:23 +03:00

Fix a prepare-statement leak.

FossilOrigin-Name: 95fd296ffc8130526a1453cbdca6ce47f22fc5b5c474aa31d66b627d0c7393a1
This commit is contained in:
drh
2018-05-18 16:46:09 +00:00
parent 252f39619a
commit 136c9903bf
4 changed files with 18 additions and 11 deletions

View 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;

View 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