]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
New assert() statements to help prove correctness of memjournal.c.
authordrh <>
Tue, 15 Feb 2022 11:46:31 +0000 (11:46 +0000)
committerdrh <>
Tue, 15 Feb 2022 11:46:31 +0000 (11:46 +0000)
FossilOrigin-Name: d74ec88c2f9b9e056988add8322186750229e14a609d1a6969ba393a5b8c5174

manifest
manifest.uuid
src/memjournal.c

index bae4aed5e0ff977d476b71f144965bf329d15cc4..e685cc2ec5f7cb0ccd386291702d3e20707006fc 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Generalize\sthe\sin-memory\sjournal\sso\sthat\sit\sis\sable\sto\saccept\swrites\sthat\nbegin\sat\sany\soffset\sless\sthan\sor\sequal\sto\sthe\scurrent\sfile\ssize.
-D 2022-02-14T21:11:17.224
+C New\sassert()\sstatements\sto\shelp\sprove\scorrectness\sof\smemjournal.c.
+D 2022-02-15T11:46:31.084
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -524,7 +524,7 @@ F src/mem2.c c8bfc9446fd0798bddd495eb5d9dbafa7d4b7287d8c22d50a83ac9daa26d8a75
 F src/mem3.c 30301196cace2a085cbedee1326a49f4b26deff0af68774ca82c1f7c06fda4f6
 F src/mem5.c 9bf955937b07f8c32541c8a9991f33ce3173d944
 F src/memdb.c c2dc88f97c410eb68a24468344b65526685e18354ddfd15906750c1eaf9dc2dd
-F src/memjournal.c 8e7e9a2acfbf221a48a48b9fea3020e8a397c748aec1c68fe42cd9c59b6e2e7d
+F src/memjournal.c 8bd50ae6d9c6d34b3a96cc3b4f567f9935dc358444d872ab48901a8c11ad82a6
 F src/msvc.h 3a15918220367a8876be3fa4f2abe423a861491e84b864fb2b7426bf022a28f8
 F src/mutex.c 5e3409715552348732e97b9194abe92fdfcd934cfb681df4ba0ab87ac6c18d25
 F src/mutex.h a7b2293c48db5f27007c3bdb21d438873637d12658f5a0bf8ad025bb96803c4a
@@ -1944,9 +1944,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 4b5d07ea7e6f5d6f1279c88bc474ee4bc8bd2cebe38a268f211f47e44569e4b1
-Q -22cc55e84f67f6f39b7dba07a4ef7ae958b2d926633faec91a278922053e50c6
-R 2cd64e949014532c1efa0ff8ea4a6e54
+P c039d5476e0836c16d8c1ad99a2620f7fd04eb4b0e5dcb2246b42dde2ae1f95a
+R 9bfcbea3e2cc10033819aafa59cb37db
 U drh
-Z 2566cca627eb8b963ea71c4eec4c4180
+Z 45576672f2f8bed09c321631de66d99f
 # Remove this line to create a well-formed Fossil manifest.
index 30d3b12488c90f9943b740c33734433041d7fd74..95ed510956f22bbf5aed554c09ce564e20f15493 100644 (file)
@@ -1 +1 @@
-c039d5476e0836c16d8c1ad99a2620f7fd04eb4b0e5dcb2246b42dde2ae1f95a
\ No newline at end of file
+d74ec88c2f9b9e056988add8322186750229e14a609d1a6969ba393a5b8c5174
\ No newline at end of file
index d9a5a7004910823e4bc475e9b7c1e0e0c4515265..a4c17eedd4867e3b11f3caaef2826e07da0528a5 100644 (file)
@@ -224,6 +224,7 @@ static int memjrnlWrite(
         int iChunkOffset = (int)(p->endpoint.iOffset%p->nChunkSize);
         int iSpace = MIN(nWrite, p->nChunkSize - iChunkOffset);
 
+        assert( pChunk!=0 || iChunkOffset==0 );
         if( iChunkOffset==0 ){
           /* New chunk is required to extend the file. */
           FileChunk *pNew = sqlite3_malloc(fileChunkSize(p->nChunkSize));
@@ -238,10 +239,11 @@ static int memjrnlWrite(
             assert( !p->pFirst );
             p->pFirst = pNew;
           }
-          p->endpoint.pChunk = pNew;
+          pChunk = p->endpoint.pChunk = pNew;
         }
 
-        memcpy((u8*)p->endpoint.pChunk->zChunk + iChunkOffset, zWrite, iSpace);
+        assert( pChunk!=0 );
+        memcpy((u8*)pChunk->zChunk + iChunkOffset, zWrite, iSpace);
         zWrite += iSpace;
         nWrite -= iSpace;
         p->endpoint.iOffset += iSpace;