aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2018-12-06 17:06:02 +0000
committerdrh <drh@noemail.net>2018-12-06 17:06:02 +0000
commitd5b44d60c7c79ff828e790a6fe31c80cdf10e47c (patch)
tree072a9a903ada8f1f1d6dc1cc7150c6af9aca2cdd /src
parent70d5dfba687ac41bf79d30198f7dd3d58cb6645e (diff)
downloadsqlite-d5b44d60c7c79ff828e790a6fe31c80cdf10e47c.tar.gz
sqlite-d5b44d60c7c79ff828e790a6fe31c80cdf10e47c.zip
When masking bits off of sqlite3.flags, make sure the mask is 64 bits
in size so as not to accidentally mask of high-order bits. FossilOrigin-Name: 53d3b169d8e1892163526caff2c843302c92e280fdeff6831e23a9bb15b82be3
Diffstat (limited to 'src')
-rw-r--r--src/btree.c2
-rw-r--r--src/loadext.c2
-rw-r--r--src/main.c4
-rw-r--r--src/pragma.c2
-rw-r--r--src/prepare.c2
-rw-r--r--src/select.c2
-rw-r--r--src/vacuum.c2
-rw-r--r--src/vdbe.c2
-rw-r--r--src/vdbeaux.c2
9 files changed, 10 insertions, 10 deletions
diff --git a/src/btree.c b/src/btree.c
index 137500eed..9046a72d3 100644
--- a/src/btree.c
+++ b/src/btree.c
@@ -9856,7 +9856,7 @@ char *sqlite3BtreeIntegrityCheck(
}
#endif
testcase( pBt->db->flags & SQLITE_CellSizeCk );
- pBt->db->flags &= ~SQLITE_CellSizeCk;
+ pBt->db->flags &= ~(u64)SQLITE_CellSizeCk;
for(i=0; (int)i<nRoot && sCheck.mxErr; i++){
i64 notUsed;
if( aRoot[i]==0 ) continue;
diff --git a/src/loadext.c b/src/loadext.c
index 966d2ddac..214390edd 100644
--- a/src/loadext.c
+++ b/src/loadext.c
@@ -650,7 +650,7 @@ int sqlite3_enable_load_extension(sqlite3 *db, int onoff){
if( onoff ){
db->flags |= SQLITE_LoadExtension|SQLITE_LoadExtFunc;
}else{
- db->flags &= ~(SQLITE_LoadExtension|SQLITE_LoadExtFunc);
+ db->flags &= ~(u64)(SQLITE_LoadExtension|SQLITE_LoadExtFunc);
}
sqlite3_mutex_leave(db->mutex);
return SQLITE_OK;
diff --git a/src/main.c b/src/main.c
index a4049f23f..627d24e0b 100644
--- a/src/main.c
+++ b/src/main.c
@@ -847,7 +847,7 @@ int sqlite3_db_config(sqlite3 *db, int op, ...){
if( onoff>0 ){
db->flags |= aFlagOp[i].mask;
}else if( onoff==0 ){
- db->flags &= ~aFlagOp[i].mask;
+ db->flags &= ~(u64)aFlagOp[i].mask;
}
if( oldFlags!=db->flags ){
sqlite3ExpirePreparedStatements(db, 0);
@@ -1310,7 +1310,7 @@ void sqlite3RollbackAll(sqlite3 *db, int tripCode){
/* Any deferred constraint violations have now been resolved. */
db->nDeferredCons = 0;
db->nDeferredImmCons = 0;
- db->flags &= ~SQLITE_DeferFKs;
+ db->flags &= ~(u64)SQLITE_DeferFKs;
/* If one has been configured, invoke the rollback-hook callback */
if( db->xRollbackCallback && (inTrans || !db->autoCommit) ){
diff --git a/src/pragma.c b/src/pragma.c
index ada652cf1..2f27d1100 100644
--- a/src/pragma.c
+++ b/src/pragma.c
@@ -816,7 +816,7 @@ void sqlite3Pragma(
if( sqlite3GetBoolean(zRight, size!=0) ){
db->flags |= SQLITE_CacheSpill;
}else{
- db->flags &= ~SQLITE_CacheSpill;
+ db->flags &= ~(u64)SQLITE_CacheSpill;
}
setAllPagerFlags(db);
}
diff --git a/src/prepare.c b/src/prepare.c
index c470a54bd..ad07eca45 100644
--- a/src/prepare.c
+++ b/src/prepare.c
@@ -293,7 +293,7 @@ int sqlite3InitOne(sqlite3 *db, int iDb, char **pzErrMsg, u32 mFlags){
** indices that the user might have created.
*/
if( iDb==0 && meta[BTREE_FILE_FORMAT-1]>=4 ){
- db->flags &= ~SQLITE_LegacyFileFmt;
+ db->flags &= ~(u64)SQLITE_LegacyFileFmt;
}
/* Read the schema information out of the schema tables
diff --git a/src/select.c b/src/select.c
index 68f2c9f62..a275cb4b4 100644
--- a/src/select.c
+++ b/src/select.c
@@ -2080,7 +2080,7 @@ Table *sqlite3ResultSetOfSelect(Parse *pParse, Select *pSelect){
u64 savedFlags;
savedFlags = db->flags;
- db->flags &= ~SQLITE_FullColNames;
+ db->flags &= ~(u64)SQLITE_FullColNames;
db->flags |= SQLITE_ShortColNames;
sqlite3SelectPrep(pParse, pSelect, 0);
if( pParse->nErr ) return 0;
diff --git a/src/vacuum.c b/src/vacuum.c
index 5017dbffd..8416b1672 100644
--- a/src/vacuum.c
+++ b/src/vacuum.c
@@ -166,7 +166,7 @@ int sqlite3RunVacuum(char **pzErrMsg, sqlite3 *db, int iDb){
saved_mTrace = db->mTrace;
db->flags |= SQLITE_WriteSchema | SQLITE_IgnoreChecks;
db->mDbFlags |= DBFLAG_PreferBuiltin | DBFLAG_Vacuum;
- db->flags &= ~(SQLITE_ForeignKeys | SQLITE_ReverseOrder
+ db->flags &= ~(u64)(SQLITE_ForeignKeys | SQLITE_ReverseOrder
| SQLITE_Defensive | SQLITE_CountRows);
db->mTrace = 0;
diff --git a/src/vdbe.c b/src/vdbe.c
index 14f3e1bd3..2803330b3 100644
--- a/src/vdbe.c
+++ b/src/vdbe.c
@@ -7086,7 +7086,7 @@ case OP_VRename: {
rc = sqlite3VdbeChangeEncoding(pName, SQLITE_UTF8);
if( rc ) goto abort_due_to_error;
rc = pVtab->pModule->xRename(pVtab, pName->z);
- if( isLegacy==0 ) db->flags &= ~SQLITE_LegacyAlter;
+ if( isLegacy==0 ) db->flags &= ~(u64)SQLITE_LegacyAlter;
sqlite3VtabImportErrmsg(p, pVtab);
p->expired = 0;
if( rc ) goto abort_due_to_error;
diff --git a/src/vdbeaux.c b/src/vdbeaux.c
index 0ed9e81d9..40a63319d 100644
--- a/src/vdbeaux.c
+++ b/src/vdbeaux.c
@@ -2855,7 +2855,7 @@ int sqlite3VdbeHalt(Vdbe *p){
}else{
db->nDeferredCons = 0;
db->nDeferredImmCons = 0;
- db->flags &= ~SQLITE_DeferFKs;
+ db->flags &= ~(u64)SQLITE_DeferFKs;
sqlite3CommitInternalChanges(db);
}
}else{