MINOR: debug: don't count free(NULL) in memstats

The mem stats are pretty convenient to spot leaks, except that they count
free(NULL) as 1, and the code does actually have quite a number of free(foo)
guards where foo is NULL if the object was already freed. Let's just not
count these ones so that the stats remain consistent. Now it's possible
to compare the strdup()/malloc() and free() and verify they are consistent.
This commit is contained in:
Willy Tarreau 2020-11-03 15:59:23 +01:00
parent 04a5a440b8
commit 9dd7f4fb4b

View File

@ -124,7 +124,8 @@ struct mem_stats {
}; \ }; \
__asm__(".globl __start_mem_stats"); \ __asm__(".globl __start_mem_stats"); \
__asm__(".globl __stop_mem_stats"); \ __asm__(".globl __stop_mem_stats"); \
_HA_ATOMIC_ADD(&_.calls, 1); \ if (__x) \
_HA_ATOMIC_ADD(&_.calls, 1); \
free(__x); \ free(__x); \
}) })