diff options
author | drh <drh@noemail.net> | 2020-11-08 20:44:30 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2020-11-08 20:44:30 +0000 |
commit | 235667a858fb5f98227ae19715f2539878705bcb (patch) | |
tree | 0c0bca6e0ade98111302305eacb241a239f9f0bb /src/resolve.c | |
parent | 78043e891ab2fba7dbec1493a9d3e10ab2476745 (diff) | |
download | sqlite-235667a858fb5f98227ae19715f2539878705bcb.tar.gz sqlite-235667a858fb5f98227ae19715f2539878705bcb.zip |
Use NEVER and ALWAYS macros to confirm that the return value from
sqlite3ExprSkipCollateAndLikely() is never NULL in some of its use cases.
FossilOrigin-Name: 76d2eb86e109fc3cbdba2e8175c22ed7660b59bb9315f6c55c565587f33ad43b
Diffstat (limited to 'src/resolve.c')
-rw-r--r-- | src/resolve.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/resolve.c b/src/resolve.c index d53428c63..b55bdc418 100644 --- a/src/resolve.c +++ b/src/resolve.c @@ -1284,6 +1284,7 @@ static int resolveCompoundOrderBy( Expr *pE, *pDup; if( pItem->done ) continue; pE = sqlite3ExprSkipCollateAndLikely(pItem->pExpr); + if( NEVER(pE==0) ) continue; if( sqlite3ExprIsInteger(pE, &iCol) ){ if( iCol<=0 || iCol>pEList->nExpr ){ resolveOutOfRangeError(pParse, "ORDER", i+1, pEList->nExpr); @@ -1463,6 +1464,7 @@ static int resolveOrderGroupBy( for(i=0, pItem=pOrderBy->a; i<pOrderBy->nExpr; i++, pItem++){ Expr *pE = pItem->pExpr; Expr *pE2 = sqlite3ExprSkipCollateAndLikely(pE); + if( NEVER(pE2==0) ) continue; if( zType[0]!='G' ){ iCol = resolveAsName(pParse, pSelect->pEList, pE2); if( iCol>0 ){ |