From: drh Date: Thu, 6 Dec 2018 16:50:55 +0000 (+0000) Subject: When saving off the value of sqlite3.flags, take care to preserve all 64 X-Git-Tag: version-3.27.0~320 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=70d5dfba687ac41bf79d30198f7dd3d58cb6645e;p=thirdparty%2Fsqlite.git When saving off the value of sqlite3.flags, take care to preserve all 64 bits. FossilOrigin-Name: 9c6dbcfab5952cf4e54de30cf9cee48f988b91a35dc3f04d64d6d994dd84a076 --- diff --git a/manifest b/manifest index 462c918e79..46d74a407e 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Issue\sa\swarning\swhenever\sa\sdouble-quoted\sstring\sliteral\sis\sused. -D 2018-12-06T16:11:14.066 +C When\ssaving\soff\sthe\svalue\sof\ssqlite3.flags,\stake\scare\sto\spreserve\sall\s64\nbits. +D 2018-12-06T16:50:55.170 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F Makefile.in 68d0ba0f0b533d5bc84c78c13a6ce84ee81183a67014caa47a969e67f028fa1c @@ -471,7 +471,7 @@ F src/in-operator.md 10cd8f4bcd225a32518407c2fb2484089112fd71 F src/insert.c f12f27eb606d601825be9a229a7390a8d64d40226697883f96de8e088d620055 F src/legacy.c 134ab3e3fae00a0f67a5187981d6935b24b337bcf0f4b3e5c9fa5763da95bf4e F src/loadext.c 9050dd153b5583804184be9c9dee9ebb554178d6db1f8ac280899e8aad9060e6 -F src/main.c 156076e2fc4eea09523323bae1d5f177a95a777a3b22e49e173437556fe3571c +F src/main.c cd8fefa30afc0b480b2881c216465f6ba5ea185b1ef4acb9f3593c12dc3b05a8 F src/malloc.c 07295435093ce354c6d9063ac05a2eeae28bd251d2e63c48b3d67c12c76f7e18 F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645 F src/mem1.c c12a42539b1ba105e3707d0e628ad70e611040d8f5e38cf942cee30c867083de @@ -507,7 +507,7 @@ F src/printf.c 0f1177cf1dd4d7827bf64d840768514ec76409abecaca9e8b577dbd065150381 F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384 F src/resolve.c e0408228bad5d13937a626521cba42c6f768643a6353712218d7e01fb201b202 F src/rowset.c d977b011993aaea002cab3e0bb2ce50cf346000dff94e944d547b989f4b1fe93 -F src/select.c 61e867a906f140b73baf4ce7a201ad6dcba30820969f5618ee40e9a0d32c6f5f +F src/select.c 44e04ad75cbbe2d2f6a30c5f586f344bbc94b80e456623b8602750202e484717 F src/shell.c.in 1f0819e69fb1ebd2eb44695530dc43936608bf9b752981a0ffd4e2e4a9e3883d F src/sqlite.h.in 908ec406feefc4c7e1486a2e3dc30a8bfb51c5a345a8e8130ac201962db171c4 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 @@ -577,7 +577,7 @@ F src/update.c 1816d56c1bca1ba4e0ef98cac2f49be62858e9df1dc08844c7067eb41cc44274 F src/upsert.c 0dd81b40206841814d46942a7337786932475f085716042d0cb2fc7791bf8ca4 F src/utf.c 810fbfebe12359f10bc2a011520a6e10879ab2a163bcb26c74768eab82ea62a5 F src/util.c d9eb0a6c4aae1b00a7369eadd7ca0bbe946cb4c953b6751aa20d357c2f482157 -F src/vacuum.c 836cadc922de866c849e23a75f93d344cdc143d388339305d09a3fed27e8798d +F src/vacuum.c 675a4bdae41b115062327544e3c55c2dc302677be2231b004d28a33dd418684d F src/vdbe.c 005e691ea4c7d51e6c1a69d9389aeb34700884c85f51681817ddea3fdc2fc39b F src/vdbe.h 5081dcc497777efe5e9ebe7330d283a044a005e4bdda2e2e984f03bf89a0d907 F src/vdbeInt.h 437e6c6af679fdf157867eb83a8adc6cf5145d6774453c2214cfd0bd01d92980 @@ -1782,7 +1782,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 ec63d3506bd429560077f82a4c5ed9d189780789fe1c134fff4f3b8733be1a3f -R 3200e72b511607c15352eb3a60112ed6 +P ac9ad5043026b30394812457e1535df2759aea0d4510029561e92e386672796f +R c007d58f48241c5155abb3e9bb7962bc U drh -Z 06f8f012c6fe6f33f55c7a711e9e6cc5 +Z cdbf42bed7dc66ac0253bfff8bfb898d diff --git a/manifest.uuid b/manifest.uuid index 2cc1a0e981..4ec17b4483 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -ac9ad5043026b30394812457e1535df2759aea0d4510029561e92e386672796f \ No newline at end of file +9c6dbcfab5952cf4e54de30cf9cee48f988b91a35dc3f04d64d6d994dd84a076 \ No newline at end of file diff --git a/src/main.c b/src/main.c index aa4546684c..a4049f23f5 100644 --- a/src/main.c +++ b/src/main.c @@ -843,7 +843,7 @@ int sqlite3_db_config(sqlite3 *db, int op, ...){ if( aFlagOp[i].op==op ){ int onoff = va_arg(ap, int); int *pRes = va_arg(ap, int*); - u32 oldFlags = db->flags; + u64 oldFlags = db->flags; if( onoff>0 ){ db->flags |= aFlagOp[i].mask; }else if( onoff==0 ){ diff --git a/src/select.c b/src/select.c index c60ff27001..68f2c9f627 100644 --- a/src/select.c +++ b/src/select.c @@ -2077,7 +2077,7 @@ void sqlite3SelectAddColumnTypeAndCollation( Table *sqlite3ResultSetOfSelect(Parse *pParse, Select *pSelect){ Table *pTab; sqlite3 *db = pParse->db; - int savedFlags; + u64 savedFlags; savedFlags = db->flags; db->flags &= ~SQLITE_FullColNames; diff --git a/src/vacuum.c b/src/vacuum.c index 5fb048916b..5017dbffde 100644 --- a/src/vacuum.c +++ b/src/vacuum.c @@ -136,8 +136,8 @@ int sqlite3RunVacuum(char **pzErrMsg, sqlite3 *db, int iDb){ int rc = SQLITE_OK; /* Return code from service routines */ Btree *pMain; /* The database being vacuumed */ Btree *pTemp; /* The temporary database we vacuum into */ - u16 saved_mDbFlags; /* Saved value of db->mDbFlags */ - u32 saved_flags; /* Saved value of db->flags */ + u32 saved_mDbFlags; /* Saved value of db->mDbFlags */ + u64 saved_flags; /* Saved value of db->flags */ int saved_nChange; /* Saved value of db->nChange */ int saved_nTotalChange; /* Saved value of db->nTotalChange */ u8 saved_mTrace; /* Saved trace settings */