From 98e57757dce8cec854a8d7d0d91c0b8b76e7e87a Mon Sep 17 00:00:00 2001 From: dan Date: Fri, 2 Sep 2022 21:21:58 +0000 Subject: [PATCH] Ensure the Pager.journalOff variable is zeroed if an error occurs while writing the initial header to the journal file. FossilOrigin-Name: fe547035ce9204a8e573540115fa8514fbf875e3cae493d88ff3eceb61a67384 --- manifest | 15 ++++++++------- manifest.uuid | 2 +- src/pager.c | 1 + 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/manifest b/manifest index 3d2b6c1e94..74fcb5f411 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Remove\sa\sNEVER()\sthat\sis\ssometimes\strue. -D 2022-09-02T19:18:49.400 +C Ensure\sthe\sPager.journalOff\svariable\sis\szeroed\sif\san\serror\soccurs\swhile\swriting\sthe\sinitial\sheader\sto\sthe\sjournal\sfile. +D 2022-09-02T21:21:58.425 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -557,7 +557,7 @@ F src/os_setup.h 0dbaea40a7d36bf311613d31342e0b99e2536586 F src/os_unix.c e020676e334a0a78c3affb7dd1789a240071ed6af98309f1bef76948cb8382bd F src/os_win.c d55025aeb5b36b5d92d7c09fe709edaf2be901420782540ba4adad86729636a0 F src/os_win.h 7b073010f1451abe501be30d12f6bc599824944a -F src/pager.c 5fb5b09afddfdfb19e0245bd9b2c1396fa70cf288f5aaa36045266faeec5eabb +F src/pager.c 8c3853cad320c24904a2f970777bbdda2deb9572f53e6a1d73b28b85a7fd30cc F src/pager.h f82e9844166e1585f5786837ddc7709966138ced17f568c16af7ccf946c2baa3 F src/parse.y 8e67d820030d2655b9942ffe61c1e7e6b96cea2f2f72183533299393907d0564 F src/pcache.c 084e638432c610f95aea72b8509f0845d2791293f39d1b82f0c0a7e089c3bb6b @@ -1978,8 +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 f448480e1b93d94ee852b252df6e2fd8649a08f78ab294b07f77307ac0821beb -R 667086c6f8e21a55555e415d25ef3c13 -U drh -Z 5ac3ebbcd7ca50918bdf25de3685ae64 +P 85a8a117402737352d0c36e9f24a9bdb3842b34f1c520db2d37a2fc91b026486 +Q +da7af290960ab8a04a1f55cdc5eeac36b47fa194edf67f0a05daa4b7f2a4071c +R b173eb2543613027d9248a236a62e91d +U dan +Z cf7671587587cbcd278410b81f566c7f # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 62909d9867..024d931cf9 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -85a8a117402737352d0c36e9f24a9bdb3842b34f1c520db2d37a2fc91b026486 \ No newline at end of file +fe547035ce9204a8e573540115fa8514fbf875e3cae493d88ff3eceb61a67384 \ No newline at end of file diff --git a/src/pager.c b/src/pager.c index 7d93d42d29..dcb72857b6 100644 --- a/src/pager.c +++ b/src/pager.c @@ -5821,6 +5821,7 @@ static int pager_open_journal(Pager *pPager){ if( rc!=SQLITE_OK ){ sqlite3BitvecDestroy(pPager->pInJournal); pPager->pInJournal = 0; + pPager->journalOff = 0; }else{ assert( pPager->eState==PAGER_WRITER_LOCKED ); pPager->eState = PAGER_WRITER_CACHEMOD; -- 2.47.2