aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordan <dan@noemail.net>2019-01-16 12:05:22 +0000
committerdan <dan@noemail.net>2019-01-16 12:05:22 +0000
commitfb8ac325d769248e45eaa056adf4da9960bdd9c3 (patch)
tree32b8d92db78938aae48ba740de95df2b4c45a81d /src
parent4ccb41fc999170823e6c064f5aecd87123a94a44 (diff)
downloadsqlite-fb8ac325d769248e45eaa056adf4da9960bdd9c3.tar.gz
sqlite-fb8ac325d769248e45eaa056adf4da9960bdd9c3.zip
Avoid a dangling pointer comparison when renaming a table that has a trigger
that itself contains a window function with an (illegal) column reference in a FOLLOWING expression. FossilOrigin-Name: d45bee36f2c1091a2d32c16ca8921bf4e7c9e40c46d0a36fbcb179ecfafcfbf0
Diffstat (limited to 'src')
-rw-r--r--src/window.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/window.c b/src/window.c
index c510c73aa..18a4f7054 100644
--- a/src/window.c
+++ b/src/window.c
@@ -881,6 +881,7 @@ void sqlite3WindowListDelete(sqlite3 *db, Window *p){
*/
static Expr *sqlite3WindowOffsetExpr(Parse *pParse, Expr *pExpr){
if( 0==sqlite3ExprIsConstant(pExpr) ){
+ if( IN_RENAME_OBJECT ) sqlite3RenameExprUnmap(pParse, pExpr);
sqlite3ExprDelete(pParse->db, pExpr);
pExpr = sqlite3ExprAlloc(pParse->db, TK_NULL, 0, 0);
}