aboutsummaryrefslogtreecommitdiff
path: root/src/resolve.c
diff options
context:
space:
mode:
authordan <dan@noemail.net>2019-04-29 11:27:58 +0000
committerdan <dan@noemail.net>2019-04-29 11:27:58 +0000
commit490e6f2506a1ebd37c2acdddcd2484d7b59d8071 (patch)
tree48840205d26aeb0675889bb8c1dfcc5c799a0640 /src/resolve.c
parent73c0d272a9bdb8e43394d62d14f0c7c8843fadfa (diff)
downloadsqlite-490e6f2506a1ebd37c2acdddcd2484d7b59d8071.tar.gz
sqlite-490e6f2506a1ebd37c2acdddcd2484d7b59d8071.zip
Fix a stack overflow that could occur when renaming a table that has a trigger containing a window function invocation that itself contains a specific syntax error.
FossilOrigin-Name: c621fc668c6538f9f5bdac204f012c64998679a61aa8e224d212503820224c09
Diffstat (limited to 'src/resolve.c')
-rw-r--r--src/resolve.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/resolve.c b/src/resolve.c
index 50755e59f..f6b6af1df 100644
--- a/src/resolve.c
+++ b/src/resolve.c
@@ -866,7 +866,9 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){
#ifndef SQLITE_OMIT_WINDOWFUNC
if( pExpr->y.pWin ){
Select *pSel = pNC->pWinSelect;
- sqlite3WindowUpdate(pParse, pSel->pWinDefn, pExpr->y.pWin, pDef);
+ if( IN_RENAME_OBJECT==0 ){
+ sqlite3WindowUpdate(pParse, pSel->pWinDefn, pExpr->y.pWin, pDef);
+ }
sqlite3WalkExprList(pWalker, pExpr->y.pWin->pPartition);
sqlite3WalkExprList(pWalker, pExpr->y.pWin->pOrderBy);
sqlite3WalkExpr(pWalker, pExpr->y.pWin->pFilter);