aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2020-06-07 20:18:07 +0000
committerdrh <drh@noemail.net>2020-06-07 20:18:07 +0000
commitbf7909734a351c68f852a0ecb11f1c41738e96bf (patch)
treecc2833a0451f0d52c2df30d6f33644544e8011f9 /src/expr.c
parent896366282dae3789fb277c2dad8660784a0895a3 (diff)
downloadsqlite-bf7909734a351c68f852a0ecb11f1c41738e96bf.tar.gz
sqlite-bf7909734a351c68f852a0ecb11f1c41738e96bf.zip
AggInfo objects might be referenced even after the sqlite3Select() function
that created them has exited. So AggInfo cannot be a stack variable. And it must not be freed until the Parse object is destroyed. FossilOrigin-Name: 3c840b4df306e2db1da08673e9ede973b4cb6d2b3f9eeeab5835e39452ee3056
Diffstat (limited to 'src/expr.c')
-rw-r--r--src/expr.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/src/expr.c b/src/expr.c
index 631d71568..b1beb2e3e 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -5730,7 +5730,6 @@ static int agginfoPersistExprCb(Walker *pWalker, Expr *pExpr){
int iAgg = pExpr->iAgg;
Parse *pParse = pWalker->pParse;
sqlite3 *db = pParse->db;
- assert( pAggInfo->iAggMagic==AggInfoMagic );
assert( pExpr->op==TK_COLUMN || pExpr->op==TK_AGG_COLUMN
|| pExpr->op==TK_FUNCTION || pExpr->op==TK_AGG_FUNCTION );
if( pExpr->op==TK_COLUMN || pExpr->op==TK_AGG_COLUMN ){