1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-12 13:01:09 +03:00

Fix a potential over-size and hence undefined shift operation.

FossilOrigin-Name: 6379b0729521146bc4ec27a9924492c7dc1d8a31
This commit is contained in:
drh
2014-01-28 18:53:29 +00:00
parent 9c2552f2e8
commit 4d06798e56
3 changed files with 10 additions and 9 deletions

View File

@@ -637,7 +637,8 @@ void sqlite3GenerateRowDelete(
sqlite3VdbeAddOp2(v, OP_Copy, iPk, iOld);
for(iCol=0; iCol<pTab->nCol; iCol++){
testcase( mask!=0xffffffff && iCol==31 );
if( mask==0xffffffff || (mask & MASKBIT32(iCol))!=0 ){
testcase( mask!=0xffffffff && iCol==32 );
if( mask==0xffffffff || (iCol<=31 && (mask & MASKBIT32(iCol))!=0) ){
sqlite3ExprCodeGetColumnOfTable(v, pTab, iDataCur, iCol, iOld+iCol+1);
}
}