aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2010-09-28 04:14:03 +0000
committerdrh <drh@noemail.net>2010-09-28 04:14:03 +0000
commit8b1db07f4e0fc66879f04c823f44d18ce8681882 (patch)
treee3d0b34b78e365717505c9b92f1f4cdde8c0c57f /src/expr.c
parent7153d1fb6e6ee74580c8d16d3cdf2c3720fca1cd (diff)
downloadsqlite-8b1db07f4e0fc66879f04c823f44d18ce8681882.tar.gz
sqlite-8b1db07f4e0fc66879f04c823f44d18ce8681882.zip
Test case and fix for the specific failure of ticket [b351d95f9cd5ef17e9d9dbae].
FossilOrigin-Name: 57789cfe674dbbd4d5e4663774d1e7c541f7bdc4
Diffstat (limited to 'src/expr.c')
-rw-r--r--src/expr.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/expr.c b/src/expr.c
index 5da3d35ea..956938ae2 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -2774,6 +2774,11 @@ int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target){
opCompare.op = TK_EQ;
opCompare.pLeft = &cacheX;
pTest = &opCompare;
+ /* Ticket b351d95f9cd5ef17e9d9dbae18f5ca8611190001:
+ ** The value in regFree1 might get SCopy-ed into the file result.
+ ** So make sure that the regFree1 register is not reused for other
+ ** purposes and possibly overwritten. */
+ regFree1 = 0;
}
for(i=0; i<nExpr; i=i+2){
sqlite3ExprCachePush(pParse);