diff options
author | Alexei Podtelezhnikov <apodtele@gmail.com> | 2021-09-08 12:18:23 -0400 |
---|---|---|
committer | Alexei Podtelezhnikov <apodtele@gmail.com> | 2021-09-08 12:18:23 -0400 |
commit | c350aac0997d0ce0d8550dbd79bc8da644a4b163 (patch) | |
tree | b04a9098515b8dffbdc7eef96d77a9beed2f1fd7 | |
parent | 63806aad9f348768654ac78751c7d0bc7aa77464 (diff) | |
download | freetype2-c350aac0997d0ce0d8550dbd79bc8da644a4b163.tar.gz |
Fortify memory debugging (cont'd).
* src/base/ftdbgmem.c (FT_DumpMemory): Check for active debugger.
(ft_mem_table_destroy): Move `FT_DumpMemory` call from here...
(ft_mem_debug_done): ... to here.
-rw-r--r-- | src/base/ftdbgmem.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/base/ftdbgmem.c b/src/base/ftdbgmem.c index 5f1d20eec..4f5c1e769 100644 --- a/src/base/ftdbgmem.c +++ b/src/base/ftdbgmem.c @@ -310,8 +310,6 @@ FT_Long leaks = 0; - FT_DumpMemory( table->memory ); - /* remove all blocks from the table, revealing leaked ones */ for ( i = 0; i < table->size; i++ ) { @@ -862,6 +860,8 @@ FT_MemTable table = (FT_MemTable)memory->user; + FT_DumpMemory( memory ); + ft_mem_table_destroy( table ); memory->free = table->free; @@ -894,11 +894,9 @@ extern void FT_DumpMemory( FT_Memory memory ) { - FT_MemTable table = (FT_MemTable)memory->user; - - - if ( table ) + if ( memory->free == ft_mem_debug_free ) { + FT_MemTable table = (FT_MemTable)memory->user; FT_MemSource* bucket = table->sources; FT_MemSource* limit = bucket + FT_MEM_SOURCE_BUCKETS; FT_MemSource* sources; |