]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix an assert() failure that could follow an IO error.
authordan <dan@noemail.net>
Wed, 6 May 2020 21:24:29 +0000 (21:24 +0000)
committerdan <dan@noemail.net>
Wed, 6 May 2020 21:24:29 +0000 (21:24 +0000)
FossilOrigin-Name: e89c864299024cdce395a15c19b000b976142b9eed267901a288adaa695f9e65

manifest
manifest.uuid
src/wal.c

index fdf31ea3717439634311666659d5368734a0976a..3fb759114b2edcfa4ee5cc2ab3027b9f0bb2820d 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sharmless\scompiler\swarnings.
-D 2020-05-06T20:55:38.208
+C Fix\san\sassert()\sfailure\sthat\scould\sfollow\san\sIO\serror.
+D 2020-05-06T21:24:29.750
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -617,7 +617,7 @@ F src/vdbetrace.c fa3bf238002f0bbbdfb66cc8afb0cea284ff9f148d6439bc1f6f2b4c3b7143
 F src/vdbevtab.c 8094dfc28dad82d60a1c832020a1b201a5381dc185c14638affc6d4e9d54c653
 F src/vtab.c 7b704a90515a239c6cdba6a66b1bb3a385e62326cceb5ecb05ec7a091d6b8515
 F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9
-F src/wal.c 43ee77f2b7d0de649bf2da5e22ec19bb4690605d9df35aeceba8a9fb1a4d890c
+F src/wal.c fdbf7641be6fa6e57f86484e8b5ffe816dffae176c4fd72a9b76e5e0b99bf6dd
 F src/wal.h c3aa7825bfa2fe0d85bef2db94655f99870a285778baa36307c0a16da32b226a
 F src/walker.c 7c429c694abd12413a5c17aec9f47cfe9eba6807e6b0a32df883e8e3a14835ed
 F src/where.c 9546c82056e8cdb27291f98cf1adca5d271240b399bb97b32f77fc2bea6146c9
@@ -1864,7 +1864,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 98eb54c6d83992886f17a00b6fc8998df230e3b5f45bafc6fae0d15a9ee5a4c6
-R 17cffa12f5b799cb65952b123268b435
-U drh
-Z 20ca82d31230a53570c1c1a513848271
+P 92dc59132f8547635d73c61c21ea29b380c401ddc84a6d01412808e00386b9e8
+R 5643010523c06a5a3b834d328816f805
+U dan
+Z 39ee58cca1df36ea8fc4467e7e30965f
index 509ff0de399b1e46389e695c1819b7f8b6d4a473..9232410316714fb52dbad0b55041aa0218fe52cd 100644 (file)
@@ -1 +1 @@
-92dc59132f8547635d73c61c21ea29b380c401ddc84a6d01412808e00386b9e8
\ No newline at end of file
+e89c864299024cdce395a15c19b000b976142b9eed267901a288adaa695f9e65
\ No newline at end of file
index d3db4b27b9a795e6b1e47e3029870cea067b2a8a..baa1220b0df980cf16571bcbe67990d08fc11f26 100644 (file)
--- a/src/wal.c
+++ b/src/wal.c
@@ -2945,8 +2945,8 @@ int sqlite3WalBeginReadTransaction(Wal *pWal, int *pChanged){
 ** read-lock.
 */
 void sqlite3WalEndReadTransaction(Wal *pWal){
+  sqlite3WalEndWriteTransaction(pWal);
   if( pWal->readLock>=0 ){
-    sqlite3WalEndWriteTransaction(pWal);
     walUnlockShared(pWal, WAL_READ_LOCK(pWal->readLock));
     pWal->readLock = -1;
   }