diff options
author | drh <> | 2023-10-19 00:25:35 +0000 |
---|---|---|
committer | drh <> | 2023-10-19 00:25:35 +0000 |
commit | 69ff726d4d82eb070f798f854472b21518627c59 (patch) | |
tree | 4664a53cbfbcd4ac1b8e3fedb48d5a22b54696e4 /src | |
parent | 0b4de1acac7da83cfaf72cbd00d1d1f2fd456b1a (diff) | |
download | sqlite-69ff726d4d82eb070f798f854472b21518627c59.tar.gz sqlite-69ff726d4d82eb070f798f854472b21518627c59.zip |
Fix a false-positive in run-time error checking.
FossilOrigin-Name: cd63eec0758960d9ee63d7b964ec62e2bd622f8c94a58bd9556046381ffa18d0
Diffstat (limited to 'src')
-rw-r--r-- | src/expr.c | 2 | ||||
-rw-r--r-- | src/vdbeaux.c | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/expr.c b/src/expr.c index f7290262e..67863395d 100644 --- a/src/expr.c +++ b/src/expr.c @@ -4336,7 +4336,7 @@ expr_code_doover: #ifdef SQLITE_VDBE_COVERAGE /* Verify that the OP_Null above is exercised by tests ** tag-20230325-2 */ - sqlite3VdbeAddOp2(v, OP_NotNull, target, 1); + sqlite3VdbeAddOp3(v, OP_NotNull, target, 1, 20230325); VdbeCoverageNeverTaken(v); #endif break; diff --git a/src/vdbeaux.c b/src/vdbeaux.c index 1ed7a6dca..c8dbe1e6d 100644 --- a/src/vdbeaux.c +++ b/src/vdbeaux.c @@ -1002,6 +1002,10 @@ void sqlite3VdbeNoJumpsOutsideSubrtn( int iDest = pOp->p2; /* Jump destination */ if( iDest==0 ) continue; if( pOp->opcode==OP_Gosub ) continue; + if( pOp->p3==20230325 && pOp->opcode==OP_NotNull ){ + /* This is a deliberately taken illegal branch. tag-20230325-2 */ + continue; + } if( iDest<0 ){ int j = ADDR(iDest); assert( j>=0 ); |