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/expr.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/expr.c')
-rw-r--r-- | src/expr.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/expr.c b/src/expr.c index 2c4d23331..685f04175 100644 --- a/src/expr.c +++ b/src/expr.c @@ -3623,6 +3623,7 @@ void sqlite3ExprCodeMove(Parse *pParse, int iFrom, int iTo, int nReg){ */ static void exprToRegister(Expr *pExpr, int iReg){ Expr *p = sqlite3ExprSkipCollateAndLikely(pExpr); + if( NEVER(p==0) ) return; p->op2 = p->op; p->op = TK_REGISTER; p->iTable = iReg; @@ -4610,6 +4611,7 @@ int sqlite3ExprCodeTemp(Parse *pParse, Expr *pExpr, int *pReg){ int r2; pExpr = sqlite3ExprSkipCollateAndLikely(pExpr); if( ConstFactorOk(pParse) + && ALWAYS(pExpr!=0) && pExpr->op!=TK_REGISTER && sqlite3ExprIsConstantNotJoin(pExpr) ){ |