1
0
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:
drh
2021-02-06 14:37:36 +00:00
parent 29f6a365cc
commit 8873aea390
3 changed files with 10 additions and 9 deletions

View File

@@ -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));