1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-05 15:55:57 +03:00

Make sure registers computed for the VFilter opcode are marked invalid

after the VFilter opcode finishes.  Ticket [16fbf14cb2].

FossilOrigin-Name: 83dc7d38c2695d1b2a7d4866a4df9be9e41d1abe
This commit is contained in:
drh
2009-11-23 21:23:45 +00:00
parent 1ac399e8eb
commit a62bb8d4d7
5 changed files with 71 additions and 11 deletions

View File

@@ -165,6 +165,15 @@ static int tclvarFilter(
Tcl_ListObjAppendElement(0, p, pArg);
}
Tcl_EvalObjEx(interp, p, TCL_EVAL_GLOBAL);
if( pCur->pList1 ){
Tcl_DecrRefCount(pCur->pList1);
}
if( pCur->pList2 ){
Tcl_DecrRefCount(pCur->pList2);
pCur->pList2 = 0;
}
pCur->i1 = 0;
pCur->i2 = 0;
pCur->pList1 = Tcl_GetObjResult(interp);
Tcl_IncrRefCount(pCur->pList1);
assert( pCur->i1==0 && pCur->i2==0 && pCur->pList2==0 );