aboutsummaryrefslogtreecommitdiff
path: root/src/wherecode.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/wherecode.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/wherecode.c')
-rw-r--r--src/wherecode.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/wherecode.c b/src/wherecode.c
index 4f525a8fb..3ea6c5d8e 100644
--- a/src/wherecode.c
+++ b/src/wherecode.c
@@ -2819,6 +2819,8 @@ SQLITE_NOINLINE void sqlite3WhereRightJoinLoop(
int k;
ExplainQueryPlan((pParse, 1, "RIGHT-JOIN %s", pTabItem->pTab->zName));
+ sqlite3VdbeNoJumpsOutsideSubrtn(v, pRJ->addrSubrtn, pRJ->endSubrtn,
+ pRJ->regReturn);
for(k=0; k<iLevel; k++){
int iIdxCur;
mAll |= pWInfo->a[k].pWLoop->maskSelf;