diff options
author | dan <dan@noemail.net> | 2019-01-16 12:05:22 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2019-01-16 12:05:22 +0000 |
commit | fb8ac325d769248e45eaa056adf4da9960bdd9c3 (patch) | |
tree | 32b8d92db78938aae48ba740de95df2b4c45a81d /src/window.c | |
parent | 4ccb41fc999170823e6c064f5aecd87123a94a44 (diff) | |
download | sqlite-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/window.c')
-rw-r--r-- | src/window.c | 1 |
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); } |