diff options
author | dan <dan@noemail.net> | 2020-01-03 14:27:08 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2020-01-03 14:27:08 +0000 |
commit | 607dd6e6080c260e73dbacf777cf43d9cd22bd18 (patch) | |
tree | 3a048c4040c97c8be214de6a636d0134e37c0faf /src/resolve.c | |
parent | 90996885fcad330e5773ae77b2f0276e9233bb47 (diff) | |
download | sqlite-607dd6e6080c260e73dbacf777cf43d9cd22bd18.tar.gz sqlite-607dd6e6080c260e73dbacf777cf43d9cd22bd18.zip |
Fix a possible NULL pointer dereference caused by using a "VALUES(...)" as a component of a compound SELECT with non-integer ORDER BY clause terms.
FossilOrigin-Name: 9d791116420f4e3f613775569e0a0cba2fc22da568b2fb2df920bcf9c9002938
Diffstat (limited to 'src/resolve.c')
-rw-r--r-- | src/resolve.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/resolve.c b/src/resolve.c index f69f9ef31..31b443ed8 100644 --- a/src/resolve.c +++ b/src/resolve.c @@ -453,8 +453,7 @@ static int lookupName( for(j=0; j<pEList->nExpr; j++){ char *zAs = pEList->a[j].zEName; if( pEList->a[j].eEName==ENAME_NAME - && ALWAYS(zAs!=0) - && sqlite3StrICmp(zAs, zCol)==0 + && sqlite3_stricmp(zAs, zCol)==0 ){ Expr *pOrig; assert( pExpr->pLeft==0 && pExpr->pRight==0 ); @@ -1123,10 +1122,8 @@ static int resolveAsName( if( pE->op==TK_ID ){ char *zCol = pE->u.zToken; for(i=0; i<pEList->nExpr; i++){ - char *zAs = pEList->a[i].zEName; if( pEList->a[i].eEName==ENAME_NAME - && ALWAYS(zAs!=0) - && sqlite3StrICmp(zAs, zCol)==0 + && sqlite3_stricmp(pEList->a[i].zEName, zCol)==0 ){ return i+1; } |