diff options
author | drh <drh@noemail.net> | 2018-12-06 17:06:02 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2018-12-06 17:06:02 +0000 |
commit | d5b44d60c7c79ff828e790a6fe31c80cdf10e47c (patch) | |
tree | 072a9a903ada8f1f1d6dc1cc7150c6af9aca2cdd /src | |
parent | 70d5dfba687ac41bf79d30198f7dd3d58cb6645e (diff) | |
download | sqlite-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.c | 2 | ||||
-rw-r--r-- | src/loadext.c | 2 | ||||
-rw-r--r-- | src/main.c | 4 | ||||
-rw-r--r-- | src/pragma.c | 2 | ||||
-rw-r--r-- | src/prepare.c | 2 | ||||
-rw-r--r-- | src/select.c | 2 | ||||
-rw-r--r-- | src/vacuum.c | 2 | ||||
-rw-r--r-- | src/vdbe.c | 2 | ||||
-rw-r--r-- | src/vdbeaux.c | 2 |
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{ |