From d1465c0ecb52c4e39dd06d7829df36c40ed2e777 Mon Sep 17 00:00:00 2001 From: girst Date: Thu, 24 May 2018 23:18:44 +0200 Subject: [PATCH] fix memory leak --- viiper.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/viiper.c b/viiper.c index 34fe108..d639a21 100644 --- a/viiper.c +++ b/viiper.c @@ -211,8 +211,12 @@ void snake_advance (void) { /* detect food hit and spawn a new food */ for (i = g.i; i; i = i->next) { if (i->r == new_row && i->c == new_col) { - respawn = (i->t == FOOD); /* only respawn when we ate a FOOD; must respawn after advancing head */ consume_item (i); + + switch (i->t) { + case FOOD: respawn = 1; break; + case BONUS: free(i); break; //TODO: reuse item buffer + } break; } } -- 2.39.3