diff options
Diffstat (limited to 'src/malloc.c')
-rw-r--r-- | src/malloc.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/malloc.c b/src/malloc.c index e34c27975..05ea51006 100644 --- a/src/malloc.c +++ b/src/malloc.c @@ -455,7 +455,13 @@ void sqlite3_free(void *p){ */ void sqlite3DbFree(sqlite3 *db, void *p){ assert( db==0 || sqlite3_mutex_held(db->mutex) ); - if( isLookaside(db, p) ){ + if( db && db->pnBytesFreed ){ + if( isLookaside(db, p) ){ + *db->pnBytesFreed += db->lookaside.sz; + }else{ + *db->pnBytesFreed += sqlite3MallocSize(p); + } + }else if( isLookaside(db, p) ){ LookasideSlot *pBuf = (LookasideSlot*)p; pBuf->pNext = db->lookaside.pFree; db->lookaside.pFree = pBuf; |