commit 397e71e17a84d8dbaaef30689bec3294a16b75e9
parent 0e7f4454c103ce4272a9257b2e0c02ba79ba2d30
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Fri, 21 Oct 2022 17:28:23 +0200
htrdr-planeto: check memory leaks
Diffstat:
1 file changed, 15 insertions(+), 0 deletions(-)
diff --git a/src/planeto/htrdr_planeto_main.c b/src/planeto/htrdr_planeto_main.c
@@ -18,11 +18,17 @@
#include "planeto/htrdr_planeto.h"
#include "planeto/htrdr_planeto_args.h"
+#include "core/htrdr_log.h"
+
+#include <rsys/mem_allocator.h>
+
int
htrdr_planeto_main(int argc, char** argv)
{
char cmd_name[] = "htrdr-planeto";
struct htrdr_planeto_args cmd_args = HTRDR_PLANETO_ARGS_DEFAULT;
+ const size_t memsz_begin = mem_allocated_size();
+ size_t memsz_end;
int is_mpi_init = 0;
res_T res = RES_OK;
int err = 0;
@@ -41,6 +47,15 @@ htrdr_planeto_main(int argc, char** argv)
exit:
htrdr_planeto_args_release(&cmd_args);
if(is_mpi_init) htrdr_mpi_finalize();
+
+ /* Check memory leaks */
+ memsz_end = mem_allocated_size();
+ if(memsz_begin != memsz_end) {
+ ASSERT(memsz_end >= memsz_begin);
+ fprintf(stderr, HTRDR_LOG_WARNING_PREFIX"Memory leaks: %lu Bytes\n",
+ (unsigned long)(memsz_end - memsz_begin));
+ err = -1;
+ }
return err;
error:
err = -1;