aboutsummaryrefslogtreecommitdiff
path: root/src/resolve.c
diff options
context:
space:
mode:
authordan <Dan Kennedy>2024-08-24 15:54:15 +0000
committerdan <Dan Kennedy>2024-08-24 15:54:15 +0000
commit58b08d77029b63a80cc7bb920819b177c06bdfe6 (patch)
tree659cd4d471b520fb4da57eafdb88b7290d1566cf /src/resolve.c
parent27095fc4a5ed21df5023c4fb35ebeef10d7894fc (diff)
downloadsqlite-58b08d77029b63a80cc7bb920819b177c06bdfe6.tar.gz
sqlite-58b08d77029b63a80cc7bb920819b177c06bdfe6.zip
Avoid a stack overflow that could be caused by a recursively defined WINDOW() with a strategically embedded error.
FossilOrigin-Name: bada54bd6bf54190e40aa721b77081015957d204c7b6a9fdbe8c67bcf20798f8
Diffstat (limited to 'src/resolve.c')
-rw-r--r--src/resolve.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/resolve.c b/src/resolve.c
index 6dcb4e732..202e87db9 100644
--- a/src/resolve.c
+++ b/src/resolve.c
@@ -1300,7 +1300,7 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){
sqlite3WalkExprList(pWalker, pExpr->pLeft->x.pList);
}
#ifndef SQLITE_OMIT_WINDOWFUNC
- if( pWin ){
+ if( pWin && pParse->nErr==0 ){
Select *pSel = pNC->pWinSelect;
assert( pWin==0 || (ExprUseYWin(pExpr) && pWin==pExpr->y.pWin) );
if( IN_RENAME_OBJECT==0 ){