mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-12 13:01:09 +03:00
Fix the OSSFuzz-discovered shift problem from two days ago. This patch was
omitted from [078dbff04a95a001] apparently because I made the edit to "sqlite3.c" rather than "resolve.c" where it belongs. FossilOrigin-Name: 864772ffec4e91d8d73f9b97e6e1d7bd4e0537de19d11d30aed7eedd5b7d394a
This commit is contained in:
@@ -433,7 +433,6 @@ static int lookupName(
|
||||
#endif /* SQLITE_OMIT_UPSERT */
|
||||
{
|
||||
pExpr->y.pTab = pTab;
|
||||
if( iCol<0 ) pExpr->affExpr = SQLITE_AFF_INTEGER;
|
||||
if( pParse->bReturning ){
|
||||
eNewExprOp = TK_REGISTER;
|
||||
pExpr->iTable = pNC->uNC.iBaseReg + (pTab->nCol+1)*pExpr->iTable
|
||||
@@ -442,7 +441,9 @@ static int lookupName(
|
||||
pExpr->iColumn = (i16)iCol;
|
||||
eNewExprOp = TK_TRIGGER;
|
||||
#ifndef SQLITE_OMIT_TRIGGER
|
||||
if( pExpr->iTable==0 ){
|
||||
if( iCol<0 ){
|
||||
pExpr->affExpr = SQLITE_AFF_INTEGER;
|
||||
}else if( pExpr->iTable==0 ){
|
||||
testcase( iCol==31 );
|
||||
testcase( iCol==32 );
|
||||
pParse->oldmask |= (iCol>=32 ? 0xffffffff : (((u32)1)<<iCol));
|
||||
|
||||
Reference in New Issue
Block a user