aboutsummaryrefslogtreecommitdiff
path: root/src/vdbe.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2011-08-03 16:40:15 +0000
committerdrh <drh@noemail.net>2011-08-03 16:40:15 +0000
commit52043d7d456cede16b51f2f5f77dd7a3bb1ac59d (patch)
tree5eebc5a2310065faae2d7c023267b7f88f9c78e3 /src/vdbe.c
parent8b0228f1a68f085a117b6c6fc82d32fc34d8d83d (diff)
downloadsqlite-52043d7d456cede16b51f2f5f77dd7a3bb1ac59d.tar.gz
sqlite-52043d7d456cede16b51f2f5f77dd7a3bb1ac59d.zip
Update the OP_Move opcode to shift the pScopyFrom pointer of aliases when
compiled with SQLITE_DEBUG. Ticket [d63523637517386191]. FossilOrigin-Name: a2135ad13049c170b33315a949b1544e6a136183
Diffstat (limited to 'src/vdbe.c')
-rw-r--r--src/vdbe.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/vdbe.c b/src/vdbe.c
index bec422a98..6b817ab6d 100644
--- a/src/vdbe.c
+++ b/src/vdbe.c
@@ -1027,6 +1027,11 @@ case OP_Move: {
zMalloc = pOut->zMalloc;
pOut->zMalloc = 0;
sqlite3VdbeMemMove(pOut, pIn1);
+#ifdef SQLITE_DEBUG
+ if( pOut->pScopyFrom>=&aMem[p1] && pOut->pScopyFrom<&aMem[p1+pOp->p3] ){
+ pOut->pScopyFrom += p1 - pOp->p2;
+ }
+#endif
pIn1->zMalloc = zMalloc;
REGISTER_TRACE(p2++, pOut);
pIn1++;