]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Always check for reads past the end of the file on the in-memory journal
authordrh <drh@noemail.net>
Wed, 14 Aug 2019 15:17:21 +0000 (15:17 +0000)
committerdrh <drh@noemail.net>
Wed, 14 Aug 2019 15:17:21 +0000 (15:17 +0000)
driver.  This used to be an assert().

FossilOrigin-Name: 4d41ca7d6efbdac70890a8d4159488fc7f59bf78a550b00597b4df990c4fcaef

manifest
manifest.uuid
src/memjournal.c

index 4183e3a60bfb9291680987cedd61edcdb0719da0..d3d9df741eb5fe870a600587cda8bae328645b23 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\ssome\sstatic\sto\sthe\s'regexp'\sextension.
-D 2019-08-13T20:34:35.045
+C Always\scheck\sfor\sreads\spast\sthe\send\sof\sthe\sfile\son\sthe\sin-memory\sjournal\ndriver.\s\sThis\sused\sto\sbe\san\sassert().
+D 2019-08-14T15:17:21.194
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -495,7 +495,7 @@ F src/mem2.c f1940d9e91948dd6a908fbb9ce3835c36b5d83c3
 F src/mem3.c 8768ac94694f31ffaf8b4d0ea5dc08af7010a35a
 F src/mem5.c 9bf955937b07f8c32541c8a9991f33ce3173d944
 F src/memdb.c 02a5fcec19b9d40dd449ca802dc1b2e8f93f255fbf2a886277a3c3800d8d35db
-F src/memjournal.c 6f3d36a0a8f72f48f6c3c722f04301ac64f2515435fa42924293e46fc7994661
+F src/memjournal.c 7561c01c90958f3ba9bc6cb2d857123d932bdfa5539ea34427a0957b2e35154d
 F src/msvc.h 3a15918220367a8876be3fa4f2abe423a861491e84b864fb2b7426bf022a28f8
 F src/mutex.c bae36f8af32c22ad80bbf0ccebec63c252b6a2b86e4d3e42672ff287ebf4a604
 F src/mutex.h 779d588e3b7756ec3ecf7d78cde1d84aba414f85
@@ -1836,7 +1836,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 408144a1832569ced8e04840f0dd36a3867405f36b13631b0f13c0f7b8a0fb01
-R e1eff49797b82e19658f2ee082875e36
-U mistachkin
-Z ca11739ed6199651720067a09b5d23b0
+P a21d1dde73f811244b5b43f9fed5877263a9c5061470221f417e501f5530edfa
+R ed8fa0e6bed90bb78f3894955acd52ae
+U drh
+Z 721554492d795644318a412d01d91bde
index 4123f2650e85e1fdc4f1a309814deb603b7cbb1c..9d7ba8cea8711c08e14468399f27457edcac866b 100644 (file)
@@ -1 +1 @@
-a21d1dde73f811244b5b43f9fed5877263a9c5061470221f417e501f5530edfa
\ No newline at end of file
+4d41ca7d6efbdac70890a8d4159488fc7f59bf78a550b00597b4df990c4fcaef
\ No newline at end of file
index 3b0e7a67286f668ace9c8026655997b936731d53..0a14e847a2c7f79a1747c251b43a9c982244610b 100644 (file)
@@ -96,14 +96,9 @@ static int memjrnlRead(
   int iChunkOffset;
   FileChunk *pChunk;
 
-#if defined(SQLITE_ENABLE_ATOMIC_WRITE) \
- || defined(SQLITE_ENABLE_BATCH_ATOMIC_WRITE)
   if( (iAmt+iOfst)>p->endpoint.iOffset ){
     return SQLITE_IOERR_SHORT_READ;
   }
-#endif
-
-  assert( (iAmt+iOfst)<=p->endpoint.iOffset );
   assert( p->readpoint.iOffset==0 || p->readpoint.pChunk!=0 );
   if( p->readpoint.iOffset!=iOfst || iOfst==0 ){
     sqlite3_int64 iOff = 0;