From 6aa7515c46f03f5e42843864cf732fbe0a0b284d Mon Sep 17 00:00:00 2001 From: drh Date: Fri, 12 Jun 2020 00:31:52 +0000 Subject: [PATCH] Remove a NEVER() that turns out to be reachable. FossilOrigin-Name: 44e573ecd5c2b60107133d60c51f3a04a3f904e9c1cf926e9b8ea977c7acae8d --- manifest | 12 +++++++----- manifest.uuid | 2 +- src/btree.c | 2 +- test/fuzzdata8.db | Bin 1495040 -> 1502208 bytes 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/manifest b/manifest index 4f90c0b7d1..55bfba8acb 100644 --- a/manifest +++ b/manifest @@ -1,13 +1,15 @@ B fd5abb1a7b5a55127d5c0d5ff448020d8bccab44e4f5afe1eb88fc19578af735 -C Add\sa\snew\sassert()\sto\sthe\sSELECT\sprocessing. -D 2020-06-11T16:04:10.746 +C Remove\sa\sNEVER()\sthat\sturns\sout\sto\sbe\sreachable. +D 2020-06-12T00:31:52.711 +F src/btree.c fabc215bd1ebab0e48108e95e0f50531da9883156b95888f479f6c696db032ad F src/global.c 0409ae635839e0bef26a69b68be64126ab6cba62ac19bd7694f1652e591c4c17 F src/select.c 929e1c0db3cb3d9f7d2304c6596868abcb6dfd7c2a0ac1bdf12a5a4432078ba4 F src/sqliteInt.h fe320867c4f48eeeca523062c5668508b3f9b88d65690d42610bd138a5fdb5c4 F src/test1.c e9f68f157f8fd027ee4c32c4b427f4eed274749bfb745427e2d954fa89d95ad3 F src/window.c 88a63e6948ea924b3cf9ad8aff5ea1fa53bebdb2f13340867205fda16ed0f19c +F test/fuzzdata8.db 9ce2e5f0d7e5e61d5f8f0817346b2a3db2aeebbaff20d04043521623ea0558be F test/window1.test 9d7f4990e5b36d95af93b189da4aa75216c6690ce95cced3c8b6d3234be51c2c -P 32a88bdd4be5acdc1b80856bf6e32724dc3a467d5050bec0fe1a3dfedcc06f34 -R 2b3df40625e1e1ca91eabc824248dfbb +P 98cea4a32ba558c137d71a5e373a6803d764d34c5640907371dcf6468ffb2e64 +R fe941a98130365dcc5664681cdfda93a U drh -Z 5781754b9c0a637aa77d00f970b7b71b +Z a269c334c0d41dc18dbae6d92c570372 diff --git a/manifest.uuid b/manifest.uuid index 73df9f885f..8e39176095 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -98cea4a32ba558c137d71a5e373a6803d764d34c5640907371dcf6468ffb2e64 \ No newline at end of file +44e573ecd5c2b60107133d60c51f3a04a3f904e9c1cf926e9b8ea977c7acae8d \ No newline at end of file diff --git a/src/btree.c b/src/btree.c index f269b3deee..6ec97f2edd 100644 --- a/src/btree.c +++ b/src/btree.c @@ -1751,7 +1751,7 @@ static int freeSpace(MemPage *pPage, u16 iStart, u16 iSize){ nFrag = iFreeBlk - iEnd; if( iEnd>iFreeBlk ) return SQLITE_CORRUPT_PAGE(pPage); iEnd = iFreeBlk + get2byte(&data[iFreeBlk+2]); - if( NEVER(iEnd > pPage->pBt->usableSize) ){ + if( iEnd > pPage->pBt->usableSize ){ return SQLITE_CORRUPT_PAGE(pPage); } iSize = iEnd - iStart; diff --git a/test/fuzzdata8.db b/test/fuzzdata8.db index b1837460297bbe7aea0ea95aa6946c523c946fa4..b943b2a99c2a7d48e1553cc8287b06e8bc43ce44 100644 GIT binary patch delta 10236 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