diff options
author | dan <Dan Kennedy> | 2024-08-24 15:54:15 +0000 |
---|---|---|
committer | dan <Dan Kennedy> | 2024-08-24 15:54:15 +0000 |
commit | 58b08d77029b63a80cc7bb920819b177c06bdfe6 (patch) | |
tree | 659cd4d471b520fb4da57eafdb88b7290d1566cf /src/resolve.c | |
parent | 27095fc4a5ed21df5023c4fb35ebeef10d7894fc (diff) | |
download | sqlite-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.c | 2 |
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 ){ |