From 76167f96b0c80b521162fda168f0d04bdceb7271 Mon Sep 17 00:00:00 2001 From: drh <> Date: Wed, 28 Sep 2022 13:38:49 +0000 Subject: [PATCH] Remove a NEVER macro in defragmentPage() that dbsqlfuzz discovered can be true. crash-32d9312f145cdce41613573f6431d9a3e439e3d7 FossilOrigin-Name: a4342fc020a41bc5eed2d8f02ec4a759a78c5b0cbc1ae5e8dc167dcc69aa698d --- manifest | 15 +++++++-------- manifest.uuid | 2 +- src/btree.c | 2 +- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/manifest b/manifest index 6ee8b3f871..0924aa8f33 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Enhance\sdefensive\smode\sso\sthat\sit\sdisallows\sCREATE\sTRIGGER\sstatements\sif\nthe\sstatements\swithin\sthe\strigger\sattempt\sto\swrite\son\sa\sshadow\stable.\s\sAlso\nmake\sthe\slegacy\sFTS3\scode\smore\srobust\sagainst\sinteger\soverflow\sduring\nmemory\sallocation. -D 2022-09-27T02:04:52.894 +C Remove\sa\sNEVER\smacro\sin\sdefragmentPage()\sthat\sdbsqlfuzz\sdiscovered\scan\sbe\ntrue.\s\scrash-32d9312f145cdce41613573f6431d9a3e439e3d7 +D 2022-09-28T13:38:49.853 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -510,7 +510,7 @@ F src/auth.c f4fa91b6a90bbc8e0d0f738aa284551739c9543a367071f55574681e0f24f8cf F src/backup.c a2891172438e385fdbe97c11c9745676bec54f518d4447090af97189fd8e52d7 F src/bitvec.c 7c849aac407230278445cb069bebc5f89bf2ddd87c5ed9459b070a9175707b3d F src/btmutex.c 8acc2f464ee76324bf13310df5692a262b801808984c1b79defb2503bbafadb6 -F src/btree.c 7f1dcdfc69595ec4927893c0aef44b2c5fe24f16bb7dee331b98414ac3eced98 +F src/btree.c 98e30d582239e1c940390f6487aa0d231691989a142fa863a689c021517ede08 F src/btree.h 74d64b8f28cfa4a894d14d4ed64fa432cd697b98b61708d4351482ae15913e22 F src/btreeInt.h 8ce1332edd89dfd2461d561ac10a0ab5601c8e06200cb5230596c3caaf54482e F src/build.c 29fcc97af5197511788a571ed35a001eea472cbe3bcdbae88178e17fcafd4341 @@ -1978,10 +1978,9 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P aa6a5b729782dee75f14ae4e780302c4446074c20d1eb300346fbe874eb64706 -Q +3283bbd12a60f472ed03cb7c6209a605a3bf9f3d9083371e17840b56e8b3f559 -Q +5517bc50988b5339c2fd071b29de1b5ca03037b0b635c3b112cf7108fab54d5f -R da345219a785a3d3782573497cad71f9 +P c41f25e6f3591e575452c4c68f8072a0163cc00d80af31f90d407c7deca79622 +Q +90403759e1cf30f7c11fa8170d6df59a0dd138e1de59d2b60bec7ba15d74f67c +R 9cc09c2f9b37f09eb21d5097712f5302 U drh -Z d81e0b6ecd027953a8aaf7b63c63dfeb +Z d1e21f34100c2d67ec16b80994fec137 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 497bf7902e..28fd479fff 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -c41f25e6f3591e575452c4c68f8072a0163cc00d80af31f90d407c7deca79622 \ No newline at end of file +a4342fc020a41bc5eed2d8f02ec4a759a78c5b0cbc1ae5e8dc167dcc69aa698d \ No newline at end of file diff --git a/src/btree.c b/src/btree.c index f1740dd880..ebfca451b9 100644 --- a/src/btree.c +++ b/src/btree.c @@ -1548,7 +1548,7 @@ static int defragmentPage(MemPage *pPage, int nMaxFrag){ if( iFree2+sz2 > usableSize ) return SQLITE_CORRUPT_PAGE(pPage); memmove(&data[iFree+sz+sz2], &data[iFree+sz], iFree2-(iFree+sz)); sz += sz2; - }else if( NEVER(iFree+sz>usableSize) ){ + }else if( iFree+sz>usableSize ){ return SQLITE_CORRUPT_PAGE(pPage); } -- 2.47.2