From 10757ed0cae8a7b8b70e74bea2ba521008e0bc2a Mon Sep 17 00:00:00 2001 From: dan Date: Tue, 19 May 2020 15:40:07 +0000 Subject: [PATCH] In os_win.c, avoid calling sqlite3_uri_boolean() on anything other than a main-db filename. FossilOrigin-Name: cb0a18e64f8d81c2ada9f698faaf5ca68a0666687bf6f3abc860324cb1997463 --- manifest | 14 +++++++------- manifest.uuid | 2 +- src/os_win.c | 4 +++- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/manifest b/manifest index 3afe29ae0d..f97053e0ff 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C User-suggested\simprovement\sto\sthe\sREADME.txt\sfor\sthe\sICU\sextension. -D 2020-05-19T12:29:56.039 +C In\sos_win.c,\savoid\scalling\ssqlite3_uri_boolean()\son\sanything\sother\sthan\sa\smain-db\sfilename. +D 2020-05-19T15:40:07.909 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -518,7 +518,7 @@ F src/os.h 48388821692e87da174ea198bf96b1b2d9d83be5dfc908f673ee21fafbe0d432 F src/os_common.h b2f4707a603e36811d9b1a13278bffd757857b85 F src/os_setup.h 0dbaea40a7d36bf311613d31342e0b99e2536586 F src/os_unix.c 13f983da988b6460ef3c4c22099c67ab0938291e543644ac4d99eccc8ba604f1 -F src/os_win.c 317718e8f04c449e7d9e1eacac0d14e7508e4a77c9d4c3cb7382299bd24561b7 +F src/os_win.c e832e21e830c1f9409c9c54053939b6dcb14c1e92128b756204ce1e3e331d678 F src/os_win.h 7b073010f1451abe501be30d12f6bc599824944a F src/pager.c 96436cb1920074d4ade120a1a8a9d0ae3f52df06651e21b7eccc5eae2f02b111 F src/pager.h 8d1dc9a2c3fc5eb6eeed75f48a076f425e77706f8935f05817fa05a308f587b5 @@ -1866,7 +1866,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 4bf566feca3a8fbe5e386533aac30e0ac25836cfc820a3abd91e156bd6198b4a -R 967365fc0f01aa59917c371276c2fe8f -U drh -Z 6f8bf30a9a141e896db917f9dbf77f7a +P 1d1293c25abdd4b0fca64e5b1d0a118e2f339635dbc89422c0c2463fbf9ee27f +R 77702df5e982362c55239f265fbb9eea +U dan +Z 7af2360054e2377399137e1a09b7af22 diff --git a/manifest.uuid b/manifest.uuid index 78e460a488..82c4823f99 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -1d1293c25abdd4b0fca64e5b1d0a118e2f339635dbc89422c0c2463fbf9ee27f \ No newline at end of file +cb0a18e64f8d81c2ada9f698faaf5ca68a0666687bf6f3abc860324cb1997463 \ No newline at end of file diff --git a/src/os_win.c b/src/os_win.c index 86789ced87..0adfd7fbf2 100644 --- a/src/os_win.c +++ b/src/os_win.c @@ -5272,7 +5272,9 @@ static int winOpen( if( isReadonly ){ pFile->ctrlFlags |= WINFILE_RDONLY; } - if( sqlite3_uri_boolean(zName, "psow", SQLITE_POWERSAFE_OVERWRITE) ){ + if( (flags & SQLITE_OPEN_MAIN_DB) + && sqlite3_uri_boolean(zName, "psow", SQLITE_POWERSAFE_OVERWRITE) + ){ pFile->ctrlFlags |= WINFILE_PSOW; } pFile->lastErrno = NO_ERROR;