aboutsummaryrefslogtreecommitdiff
path: root/src/insert.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2015-12-21 15:22:13 +0000
committerdrh <drh@noemail.net>2015-12-21 15:22:13 +0000
commit1c75c9d7f16f5852c012f5fc8fce00840f72b308 (patch)
tree47b38ab1632e6fecba4b39646e301e8cd951ad32 /src/insert.c
parentd319b8c1438de286caa9a2aa74938bb788430111 (diff)
downloadsqlite-1c75c9d7f16f5852c012f5fc8fce00840f72b308.tar.gz
sqlite-1c75c9d7f16f5852c012f5fc8fce00840f72b308.zip
Ensure that the Expr objects that describe indexed expressions are not modified
by code generation. Fix for an assert() problem found by Jon Metzman using AFL. FossilOrigin-Name: 34073ce87d88a02313217023ae92e15939192cd9
Diffstat (limited to 'src/insert.c')
-rw-r--r--src/insert.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/insert.c b/src/insert.c
index 52769e9c4..7ac2a2559 100644
--- a/src/insert.c
+++ b/src/insert.c
@@ -1408,7 +1408,7 @@ void sqlite3GenerateConstraintChecks(
int x;
if( iField==XN_EXPR ){
pParse->ckBase = regNewData+1;
- sqlite3ExprCode(pParse, pIdx->aColExpr->a[i].pExpr, regIdx+i);
+ sqlite3ExprCodeCopy(pParse, pIdx->aColExpr->a[i].pExpr, regIdx+i);
pParse->ckBase = 0;
VdbeComment((v, "%s column %d", pIdx->zName, i));
}else{