From 4d37d43b7ef88923fb470b527fad3ddcee57e158 Mon Sep 17 00:00:00 2001
From: schneider <schneider@blinkenlichts.net>
Date: Sun, 10 Jan 2021 21:06:59 +0100
Subject: [PATCH] fix(display): Explicitly free scratch buffer

---
 pycardium/modules/sys_display.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/pycardium/modules/sys_display.c b/pycardium/modules/sys_display.c
index fa416dc66..eedeb705e 100644
--- a/pycardium/modules/sys_display.c
+++ b/pycardium/modules/sys_display.c
@@ -119,7 +119,7 @@ static mp_obj_t mp_display_blit(size_t n_args, const mp_obj_t *args)
 		mp_raise_ValueError("'img' is too small.");
 	}
 
-	uint16_t *buf;
+	uint16_t *buf = NULL;
 	if (rgb565) {
 		buf = (uint16_t *)img.buf;
 	} else {
@@ -150,6 +150,10 @@ static mp_obj_t mp_display_blit(size_t n_args, const mp_obj_t *args)
 		res = epic_disp_blit(pos_x, pos_y, width, height, buf, NULL);
 	}
 
+	if (buf) {
+		m_free(buf);
+	}
+
 	if (res < 0) {
 		mp_raise_OSError(-res);
 	}
-- 
GitLab