mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-14 00:22:38 +03:00
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
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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) ){
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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{
|
||||
|
||||
Reference in New Issue
Block a user