]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Do not allow page_size changes on an active cksumvfs database.
authordrh <drh@noemail.net>
Wed, 29 Apr 2020 01:09:46 +0000 (01:09 +0000)
committerdrh <drh@noemail.net>
Wed, 29 Apr 2020 01:09:46 +0000 (01:09 +0000)
FossilOrigin-Name: 2c17cdce26fd935e6d81ff828f4670291fc014013c93b2a1578506598345ee86

ext/misc/cksumvfs.c
manifest
manifest.uuid

index cd4bb4536478f5d8bff8e764545dc52f4587fe05..8b7f37b9e1ff4533f0357c923eeafab4dc3cfe38 100644 (file)
@@ -494,7 +494,7 @@ static int cksmFileControl(sqlite3_file *pFile, int op, void *pArg){
   if( op==SQLITE_FCNTL_PRAGMA ){
     char **azArg = (char**)pArg;
     assert( azArg[1]!=0 );
-    if( strcmp(azArg[1],"checksum_verification")==0 ){
+    if( sqlite3_stricmp(azArg[1],"checksum_verification")==0 ){
       char *zArg = azArg[2];
       if( zArg!=0 ){
         if( (zArg[0]>='1' && zArg[0]<='9')
@@ -509,6 +509,10 @@ static int cksmFileControl(sqlite3_file *pFile, int op, void *pArg){
       }
       azArg[0] = sqlite3_mprintf("%d",p->verifyCksm);
       return SQLITE_OK;
+    }else if( p->computeCksm && azArg[2]!=0
+           && sqlite3_stricmp(azArg[1], "page_size")==0 ){
+      /* Do not allow page size changes on a checksum database */
+      return SQLITE_OK;
     }
   }
   rc = pFile->pMethods->xFileControl(pFile, op, pArg);
index 617111c3219fc6aa0a1c1be557f40852ea42260c..290630f678d6f7693cb1316d4f9322d574e25bea 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sincorrect\serror\smessage\swhen\ssomething\sgoes\swrong\swith\sthe\nsqlite3_dbpage()\stable-valued\sfunction\sin\sthe\s.dbinfo\scommand\sof\sthe\sCLI.
-D 2020-04-28T23:09:56.084
+C Do\snot\sallow\spage_size\schanges\son\san\sactive\scksumvfs\sdatabase.
+D 2020-04-29T01:09:46.288
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -285,7 +285,7 @@ F ext/misc/appendvfs.c 3777f22ec1057dc4e5fd89f2fbddcc7a29fbeef1ad038c736c54411bb
 F ext/misc/blobio.c a867c4c4617f6ec223a307ebfe0eabb45e0992f74dd47722b96f3e631c0edb2a
 F ext/misc/btreeinfo.c 26004b7a6be320ec08fc20ca8d0f01fccb00a98cbe0f3197446794ff2a506aa3
 F ext/misc/carray.c 91e9a7f512fda934894bed30464552fffa7d3073b5be04189ae0bd0c59f26bfd
-F ext/misc/cksumvfs.c fe6f6a9de21ec23d8bc1a27f349cc7f28ae2095c6b666527c5df672209b603f8
+F ext/misc/cksumvfs.c 452a699066cd2f60224525aa36301a95c9784f230b56fa67de63f76afd6c68d7
 F ext/misc/closure.c dbfd8543b2a017ae6b1a5843986b22ddf99ff126ec9634a2f4047cd14c85c243
 F ext/misc/completion.c a0efe03edfdc4f717c61e6c9b0bfe2708ff7878010dae3174980a68fdf76aabc
 F ext/misc/compress.c 3354c77a7c8e86e07d849916000cdac451ed96500bfb5bd83b20eb61eee012c9
@@ -1862,7 +1862,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 237c10f941cc6cb775693ae87513ff1b816f12b5e9c3d57b057421204d2d02cf
-R 176a5d897ae4a00cb2a086f8e4bc1304
+P 0dcf002463f5931c3875d2038d2b97298f1800b1cdfa70485d6430ab758f3b25
+R 0cacdd864635f1bdd3a6aa2f972db6cd
 U drh
-Z 9c42efa8d6d984bdc00c683cbdf1d894
+Z db05e4f978a71bce6c644e170e98280e
index 097222261f7391c969d6b60db2300e1352b38130..b3cba0809505e4e410a956359da3c0dd3b3e88bf 100644 (file)
@@ -1 +1 @@
-0dcf002463f5931c3875d2038d2b97298f1800b1cdfa70485d6430ab758f3b25
\ No newline at end of file
+2c17cdce26fd935e6d81ff828f4670291fc014013c93b2a1578506598345ee86
\ No newline at end of file