From: drh <> Date: Mon, 5 Apr 2021 22:42:15 +0000 (+0000) Subject: Relax an assertion on the sqlite3WhereEnd() routine after dbsqlfuzz found X-Git-Tag: version-3.36.0~258 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e0cc26734eaa009aae376b0cbb1934adc816abef;p=thirdparty%2Fsqlite.git Relax an assertion on the sqlite3WhereEnd() routine after dbsqlfuzz found a counter-example. FossilOrigin-Name: e6b591e76523034c41884b39d71d4b721f1df709bdafd842e2d4b4084c158ec0 --- diff --git a/manifest b/manifest index 30d61ec66d..dbf9be839f 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Add\sa\smissing\sCORRUPT_DB\sto\san\sassert\sin\sthe\sOP_ResultRow\sopcode. -D 2021-04-05T22:30:56.497 +C Relax\san\sassertion\son\sthe\ssqlite3WhereEnd()\sroutine\safter\sdbsqlfuzz\sfound\na\scounter-example. +D 2021-04-05T22:42:15.909 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -629,7 +629,7 @@ F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9 F src/wal.c 69e770e96fd56cc21608992bf2c6f1f3dc5cf2572d0495c6a643b06c3a679f14 F src/wal.h c3aa7825bfa2fe0d85bef2db94655f99870a285778baa36307c0a16da32b226a F src/walker.c d42d6c80ea363ef689a462e65eefcfe87deab924c50de5baa37ecb6af7d7ddaa -F src/where.c f81b47aeed660808c315290aec02fefe21ffce55e988c603254a2c81d20a0eb5 +F src/where.c 9accf968b0e75804b0e99a7500f5310e5213bc3f5a2bd6810e51da354d2cc3b5 F src/whereInt.h 446e5e8018f83358ef917cf32d8e6a86dc8430113d0b17e720f1839d3faa44c4 F src/wherecode.c 8bdc239eae3d39f9f6ace4299eeb86e1e0c56eed88b60f9c473dc85ae79f4e89 F src/whereexpr.c 4ba94b8ebbff97c658b212de6ccdb6d3a41847800bdf99e7a2a967c250269f2c @@ -1912,7 +1912,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 51f87adc7f90935484eadad82f751f1df8c1607d463dae9589a71aeda2184b3a -R ee365809ed2d620bdf673f300f88b640 +P 82f92d79e1901911b0ce57d0aa30d462847748159443c7db8af16e6b37e8212c +R 2e31e96ae9f36da0cd4c701dda708260 U drh -Z d244eb2f9f9acbbde1e94533dd51f1ef +Z 066878ec0da3f3c2bd65fbad64a4cf2b diff --git a/manifest.uuid b/manifest.uuid index 6be76dec75..aea9445fec 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -82f92d79e1901911b0ce57d0aa30d462847748159443c7db8af16e6b37e8212c \ No newline at end of file +e6b591e76523034c41884b39d71d4b721f1df709bdafd842e2d4b4084c158ec0 \ No newline at end of file diff --git a/src/where.c b/src/where.c index 22ad558465..509190e8d9 100644 --- a/src/where.c +++ b/src/where.c @@ -5567,7 +5567,7 @@ void sqlite3WhereEnd(WhereInfo *pWInfo){ #endif pOp = sqlite3VdbeGetOp(v, k); pLastOp = pOp + (last - k); - assert( pOpnErr>0 && pOp==pLastOp) ); + assert( pOp<=pLastOp ); do{ if( pOp->p1!=pLevel->iTabCur ){ /* no-op */