aboutsummaryrefslogtreecommitdiff
path: root/src/where.c
diff options
context:
space:
mode:
authordrh <>2022-04-23 18:46:03 +0000
committerdrh <>2022-04-23 18:46:03 +0000
commit30d2aab5fda21909d381a532f0ffcd6154cf3d51 (patch)
tree9aa90bbbc967b79163429ec9d05cd23343e0022d /src/where.c
parentd6bb6000eff360f76d736d13331816354d880c5f (diff)
parent6c7e89b48a3723ca6038a21170354fe3ad690b47 (diff)
downloadsqlite-30d2aab5fda21909d381a532f0ffcd6154cf3d51.tar.gz
sqlite-30d2aab5fda21909d381a532f0ffcd6154cf3d51.zip
In debug builds, add extra code to verify that there are no jumps that try to
escape from the right-join body subroutine. FossilOrigin-Name: 45fe919266ba1843f3eeeb511ab43126069d4976c9fc64e57e0390c21f110b6e
Diffstat (limited to 'src/where.c')
-rw-r--r--src/where.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/where.c b/src/where.c
index 8526f7c5a..a72441932 100644
--- a/src/where.c
+++ b/src/where.c
@@ -6024,6 +6024,7 @@ void sqlite3WhereEnd(WhereInfo *pWInfo){
WhereRightJoin *pRJ = pLevel->pRJ;
sqlite3VdbeResolveLabel(v, pLevel->addrCont);
pLevel->addrCont = 0;
+ pRJ->endSubrtn = sqlite3VdbeCurrentAddr(v);
sqlite3VdbeAddOp3(v, OP_Return, pRJ->regReturn, pRJ->addrSubrtn, 1);
VdbeCoverage(v);
assert( pParse->withinRJSubrtn>0 );