From 8ba254dd6c62f6003f7632224f85c9974be773cb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Deuc=D0=B5?= <shurd@sasktel.net>
Date: Fri, 10 Jan 2025 12:29:46 -0500
Subject: [PATCH] Fix missing NULL check/resource lead in bitmap_clrsrc()

Thanks Coverity!
---
 src/conio/bitmap_con.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/conio/bitmap_con.c b/src/conio/bitmap_con.c
index df171eafd3..b41ec9844d 100644
--- a/src/conio/bitmap_con.c
+++ b/src/conio/bitmap_con.c
@@ -1530,11 +1530,13 @@ void bitmap_clrscr(void)
 	struct vstat_vmem *vmem_ptr;
 	size_t c = 0;
 	int rows, cols;
-	struct vmem_cell *va = malloc(((cio_textinfo.winright - cio_textinfo.winleft + 1) * (cio_textinfo.winbottom - cio_textinfo.wintop + 1)) * sizeof(struct vmem_cell));
+	struct vmem_cell *va;
 
 	if(!bitmap_initialized)
 		return;
-
+	va = malloc(((cio_textinfo.winright - cio_textinfo.winleft + 1) * (cio_textinfo.winbottom - cio_textinfo.wintop + 1)) * sizeof(struct vmem_cell));
+	if (va == NULL)
+		return;
 	pthread_mutex_lock(&vstatlock);
 	vmem_ptr = get_vmem(&vstat);
 	rows = vstat.rows;
@@ -1545,6 +1547,7 @@ void bitmap_clrscr(void)
 		}
 	}
 	bitmap_draw_vmem(cio_textinfo.winleft, cio_textinfo.wintop, cio_textinfo.winright, cio_textinfo.winbottom, va);
+	free(va);
 	release_vmem(vmem_ptr);
 	pthread_mutex_unlock(&vstatlock);
 }
-- 
GitLab