From dfd86b8e0705e8bfb0149aba21a0f24f3f730ec0 Mon Sep 17 00:00:00 2001 From: Laurent Mazet Date: Thu, 18 Jul 2024 23:38:20 +0200 Subject: [PATCH] fix memory leak --- function.c | 9 ++++----- makefile | 4 +++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/function.c b/function.c index cd53025..d090d16 100644 --- a/function.c +++ b/function.c @@ -57,11 +57,10 @@ board_t *initplay (board_t *board) board_t *copyboard (board_t *board) { - board_t *newboard = (board_t *) malloc (sizeof (board_t)); - CHECKALLOC (board); + board_t *newboard = initboard (board->width, board->height); + char *tab = newboard->tab; memcpy (newboard, board, sizeof (board_t)); - newboard->tab = (char *) calloc (1, board->width * board->height + 1); - CHECKALLOC (newboard->tab); + newboard->tab = tab; memcpy (newboard->tab, board->tab, board->width * board->height + 1); return newboard; } @@ -535,7 +534,7 @@ board_t *popcache (cache_t *cache, int *xcursor, int *ycursor, int *opt) void emptycache (cache_t *cache) { while (cache->board != NULL) { - free (cache->board); + freeboard (cache->board); cache->board = NULL; cache++; } diff --git a/makefile b/makefile index 3f2fd95..d6dd76f 100644 --- a/makefile +++ b/makefile @@ -79,7 +79,9 @@ purge: clean rm -f purge $(ALLEXE:%=%.exe) $(call PASS, SUCCESS) -valgrinds: all +valgrinds: + export LDOPTS="test.o"; \ + $(MAKE) test.o all $(MAKE) $(addprefix valgrind_,$(ALLEXE)) wipe: purge -- 2.30.2