aboutsummaryrefslogtreecommitdiff
path: root/src/vdbe.c
diff options
context:
space:
mode:
authordrh <>2023-11-20 13:06:59 +0000
committerdrh <>2023-11-20 13:06:59 +0000
commit0fcaf16f20a1a9c38aa740f41941f86134b7ada8 (patch)
tree9d5c3e58caaa6b250c475871d0b975ceb0f82057 /src/vdbe.c
parent56bb07bad6fbb73c0f5631a6399bf1ba627c817b (diff)
downloadsqlite-0fcaf16f20a1a9c38aa740f41941f86134b7ada8.tar.gz
sqlite-0fcaf16f20a1a9c38aa740f41941f86134b7ada8.zip
Convert an assert in OP_VCheck into a branch that aborts the opcode, as this
can happen on some very obscure conditions, as discovered by dbsqlfuzz. Test case in TH3. FossilOrigin-Name: 7946c79567b0ccd3a00d12390e99896d7dc11407d0b52bc39338a16a493f56f6
Diffstat (limited to 'src/vdbe.c')
-rw-r--r--src/vdbe.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/vdbe.c b/src/vdbe.c
index 4ea508032..38155a170 100644
--- a/src/vdbe.c
+++ b/src/vdbe.c
@@ -8184,7 +8184,7 @@ case OP_VCheck: { /* out2 */
pTab = pOp->p4.pTab;
assert( pTab!=0 );
assert( IsVirtual(pTab) );
- assert( pTab->u.vtab.p!=0 );
+ if( pTab->u.vtab.p==0 ) break;
pVtab = pTab->u.vtab.p->pVtab;
assert( pVtab!=0 );
pModule = pVtab->pModule;