diff options
author | drh <> | 2023-12-13 16:50:21 +0000 |
---|---|---|
committer | drh <> | 2023-12-13 16:50:21 +0000 |
commit | 1088fc83874e6f2df1737dbaa2f5cc6bcd87737f (patch) | |
tree | bdbf6cfca827963f01f2240fa39c376a270a1205 /src | |
parent | fe8d9f4287ee7885adc820550644addfd36b1184 (diff) | |
download | sqlite-1088fc83874e6f2df1737dbaa2f5cc6bcd87737f.tar.gz sqlite-1088fc83874e6f2df1737dbaa2f5cc6bcd87737f.zip |
Avoid invoking sqlite3ExprColUsage() on an unresolve column reference.
FossilOrigin-Name: 6e0e2ee7c723582be5ad9126f5cd642c3cecf615c609bc0b87e914a6f5c0c904
Diffstat (limited to 'src')
-rw-r--r-- | src/resolve.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/resolve.c b/src/resolve.c index 0072f6b6a..95f224e96 100644 --- a/src/resolve.c +++ b/src/resolve.c @@ -182,6 +182,7 @@ Bitmask sqlite3ExprColUsed(Expr *pExpr){ assert( ExprUseYTab(pExpr) ); pExTab = pExpr->y.pTab; assert( pExTab!=0 ); + assert( n < pExTab->nCol ); if( (pExTab->tabFlags & TF_HasGenerated)!=0 && (pExTab->aCol[n].colFlags & COLFLAG_GENERATED)!=0 ){ @@ -784,7 +785,7 @@ static int lookupName( ** If a generated column is referenced, set bits for every column ** of the table. */ - if( pExpr->iColumn>=0 && pMatch!=0 ){ + if( pExpr->iColumn>=0 && cnt==1 && pMatch!=0 ){ pMatch->colUsed |= sqlite3ExprColUsed(pExpr); } |