]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add NEVER() on an unreachable branch in the Bloom filter pull-down logic.
authordrh <>
Mon, 13 Dec 2021 18:53:10 +0000 (18:53 +0000)
committerdrh <>
Mon, 13 Dec 2021 18:53:10 +0000 (18:53 +0000)
FossilOrigin-Name: 471070462593faba865d8d05ee89161b340145351e2fa0bfbaa766d974e932d6

manifest
manifest.uuid
src/where.c

index 9fb8ae3cb8a6ba336a562d2cb3f081c6a6d7fda4..539740affccf96d7450891eb72354c49634be6d0 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\san\soff-by-one\serror\sin\sthe\sBloom\sfilter\spulldown\slogic,\sfound\sby\sOSSFuzz.\nAlso\sfix\sover-length\ssource\scode\slines\sin\sthe\simmediate\svicinity.
-D 2021-12-13T18:43:46.407
+C Add\sNEVER()\son\san\sunreachable\sbranch\sin\sthe\sBloom\sfilter\spull-down\slogic.
+D 2021-12-13T18:53:10.371
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -638,7 +638,7 @@ F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9
 F src/wal.c ed0398a7adf02c31e34aada42cc86c58f413a7afe5f741a5d373ad087abde028
 F src/wal.h c3aa7825bfa2fe0d85bef2db94655f99870a285778baa36307c0a16da32b226a
 F src/walker.c f890a3298418d7cba3b69b8803594fdc484ea241206a8dfa99db6dd36f8cbb3b
-F src/where.c 78a878f3264b4710b805bc11d18651435fbc80051d00e3e42692fc86c1cd31bb
+F src/where.c c3299a18bb95a0189629aaad1207e2214251181e4c71763c2c0a2575a5e4a4c2
 F src/whereInt.h e83f7ba73db5b1b2685118fad67d178fbe04751a25419f0f6ff73e58b4807325
 F src/wherecode.c 6a594ed25bfbeb60d455868b7be62637575e4f1949152de4336e4825e0c54ba6
 F src/whereexpr.c 791544603b254cf11f8e84e3b50b0863c57322e9f213b828680f658e232ebc57
@@ -1934,7 +1934,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 b98b24f26518fb362e776bbaef80910bed66b654239e7c76d4b234033ef4174b
-R 3a4dce129857177521e360c2e6772ed6
+P 027626521c02be06ef61e8229bde49d20cb3f1cb600c4cb127c5f139b9de8858
+R 057e2625c45c96442011c44c84a35821
 U drh
-Z e1c941de49bea239b2265178ce7baef0
+Z 1a75a7377d82483ef4328f4adf9ae9ae
index 2e6de68e217de0e7aacd2ce6b7797a3749413084..801ce1024e5b3309d5f07361e421190eebe90d7c 100644 (file)
@@ -1 +1 @@
-027626521c02be06ef61e8229bde49d20cb3f1cb600c4cb127c5f139b9de8858
\ No newline at end of file
+471070462593faba865d8d05ee89161b340145351e2fa0bfbaa766d974e932d6
\ No newline at end of file
index 852f1c17ffaa3c9245d6fb267fffeba15f287f05..982685738aa19d8c32e6efe11899e1a560f9085f 100644 (file)
@@ -1072,7 +1072,7 @@ static SQLITE_NOINLINE void sqlite3ConstructBloomFilter(
     while( ++iLevel < pWInfo->nLevel ){
       pLevel = &pWInfo->a[iLevel];
       pLoop = pLevel->pWLoop;
-      if( pLoop==0 ) continue;
+      if( NEVER(pLoop==0) ) continue;
       if( pLoop->prereq & notReady ) continue;
       if( (pLoop->wsFlags & (WHERE_BLOOMFILTER|WHERE_COLUMN_IN))
                  ==WHERE_BLOOMFILTER