diff options
author | drh <drh@noemail.net> | 2016-12-23 13:52:45 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2016-12-23 13:52:45 +0000 |
commit | ce1bbe51b5c57b6487e92fe83c5c168a84c9e051 (patch) | |
tree | 334b07f003c4e05a9796f5eb50211760826f6617 /src/expr.c | |
parent | f326d66d618c50bfcb348e3023793524da25c28b (diff) | |
download | sqlite-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.c | 1 |
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; |