aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2016-12-23 13:52:45 +0000
committerdrh <drh@noemail.net>2016-12-23 13:52:45 +0000
commitce1bbe51b5c57b6487e92fe83c5c168a84c9e051 (patch)
tree334b07f003c4e05a9796f5eb50211760826f6617 /src/expr.c
parentf326d66d618c50bfcb348e3023793524da25c28b (diff)
downloadsqlite-ce1bbe51b5c57b6487e92fe83c5c168a84c9e051.tar.gz
sqlite-ce1bbe51b5c57b6487e92fe83c5c168a84c9e051.zip
Add check to prevent a VList from growing after pointers to labels have been
taken. FossilOrigin-Name: aa23d7eaf69f5ecbf9500b2353846094cae41e6c
Diffstat (limited to 'src/expr.c')
-rw-r--r--src/expr.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/expr.c b/src/expr.c
index 3f8406bc5..ecc6c7928 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -3422,6 +3422,7 @@ int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target){
if( pExpr->u.zToken[1]!=0 ){
const char *z = sqlite3VListNumToName(pParse->pVList, pExpr->iColumn);
assert( pExpr->u.zToken[0]=='?' || strcmp(pExpr->u.zToken, z)==0 );
+ pParse->pVList[0] = 0; /* Indicate VList may no longer be enlarged */
sqlite3VdbeAppendP4(v, (char*)z, P4_STATIC);
}
return target;