1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-17 09:21:13 +03:00

Avoid invoking sqlite3ExprColUsage() on an unresolve column reference.

dbsqlfuzz fc34aa62df4de103705d11b807074687ffafbda5.

FossilOrigin-Name: ac9314c0e335694b48c613145f5397247bb88c51806cd0dc3ed4ec306db4bbad
This commit is contained in:
drh
2023-12-13 16:45:18 +00:00
parent f7c78a2408
commit 3e4195c60d
3 changed files with 9 additions and 8 deletions

View File

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