diff options
Diffstat (limited to 'ext/sqlite/libsqlite/src/vdbe.c')
-rw-r--r-- | ext/sqlite/libsqlite/src/vdbe.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/ext/sqlite/libsqlite/src/vdbe.c b/ext/sqlite/libsqlite/src/vdbe.c index 09332560df..7ea05c9acd 100644 --- a/ext/sqlite/libsqlite/src/vdbe.c +++ b/ext/sqlite/libsqlite/src/vdbe.c @@ -4545,6 +4545,10 @@ case OP_AggGet: { pTos->flags &= ~(MEM_Dyn|MEM_Static|MEM_Short); pTos->flags |= MEM_Ephem; } + if( pTos->flags & MEM_AggCtx ){ + Release(pTos); + pTos->flags = MEM_Null; + } break; } @@ -4695,8 +4699,9 @@ case OP_SetNext: { break; } }else{ - assert( pSet->prev ); - pSet->prev = sqliteHashNext(pSet->prev); + if( pSet->prev ){ + pSet->prev = sqliteHashNext(pSet->prev); + } if( pSet->prev==0 ){ break; }else{ |