]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Relax an assertion on the sqlite3WhereEnd() routine after dbsqlfuzz found
authordrh <>
Mon, 5 Apr 2021 22:42:15 +0000 (22:42 +0000)
committerdrh <>
Mon, 5 Apr 2021 22:42:15 +0000 (22:42 +0000)
a counter-example.

FossilOrigin-Name: e6b591e76523034c41884b39d71d4b721f1df709bdafd842e2d4b4084c158ec0

manifest
manifest.uuid
src/where.c

index 30d61ec66d02c00f8db6f749ed523dea62788d73..dbf9be839f4b81fe28b056efda379ef85a24f412 100644 (file)
--- 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
index 6be76dec75d23d9f876725dd254b30093e85a219..aea9445fecbedc9fb748ab899a180076a3b47cb8 100644 (file)
@@ -1 +1 @@
-82f92d79e1901911b0ce57d0aa30d462847748159443c7db8af16e6b37e8212c
\ No newline at end of file
+e6b591e76523034c41884b39d71d4b721f1df709bdafd842e2d4b4084c158ec0
\ No newline at end of file
index 22ad55846596153c1a62316ac095109d7f205b76..509190e8d996fa792bb18c10f5514204503deef8 100644 (file)
@@ -5567,7 +5567,7 @@ void sqlite3WhereEnd(WhereInfo *pWInfo){
 #endif
       pOp = sqlite3VdbeGetOp(v, k);
       pLastOp = pOp + (last - k);
-      assert( pOp<pLastOp || (pParse->nErr>0 && pOp==pLastOp) );
+      assert( pOp<=pLastOp );
       do{
         if( pOp->p1!=pLevel->iTabCur ){
           /* no-op */