commit 307ede25e115367dde37b2d4e90b74a7edd72ec5
parent b6c3be90ff1308480635a97ab68f5aba5ee9d530
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date: Fri, 16 Oct 2020 15:13:33 +0200
Add memleaks reporting
Diffstat:
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/src/green-main.c b/src/green-main.c
@@ -32,7 +32,7 @@ main
{
int err = EXIT_SUCCESS;
res_T res = RES_OK;
- int logger_initialized = 0, green_initialized = 0;
+ int logger_initialized = 0, green_initialized = 0, allocator_initialized = 0;
struct mem_allocator allocator;
struct logger logger;
struct green green;
@@ -40,6 +40,7 @@ main
FILE* stream = NULL;
ERR(mem_init_proxy_allocator(&allocator, &mem_default_allocator));
+ allocator_initialized = 1;
ERR(logger_init(&allocator, &logger));
logger_initialized = 1;
@@ -117,6 +118,16 @@ exit:
if(green_initialized) green_release(&green);
if(logger_initialized) logger_release(&logger);
if(stream) fclose(stream);
+ if(allocator_initialized) {
+ if(MEM_ALLOCATED_SIZE(&allocator) != 0) {
+ char dump[4096] = { '\0' };
+ MEM_DUMP(&allocator, dump, sizeof(dump));
+ fprintf(stderr, "%s\n", dump);
+ fprintf(stderr, "\nMemory leaks: %zu Bytes\n",
+ MEM_ALLOCATED_SIZE(&allocator));
+ }
+ mem_shutdown_proxy_allocator(&allocator);
+ }
return err;
error:
err = EXIT_FAILURE;