From 252e539cc03a4411e4b52897fece9b072c7a9af8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Deuc=D0=B5?= <shurd@sasktel.net>
Date: Sun, 3 Nov 2024 13:44:57 -0500
Subject: [PATCH] "Handle" malloc() failures

Just scream on stderr, and screw things up in the window.
---
 src/conio/cterm.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/conio/cterm.c b/src/conio/cterm.c
index 78f683ad81..2ff39d654a 100644
--- a/src/conio/cterm.c
+++ b/src/conio/cterm.c
@@ -994,6 +994,10 @@ prestel_get_state(struct cterminal *cterm)
 	SCR_XY(&sx, &sy);
 	TERM_XY(&tx, &ty);
 	line = malloc(sizeof(*line) * tx);
+	if (line == NULL) {
+		fprintf(stderr, "malloc() in prestel_get_state()\n");
+		return;
+	}
 	prestel_new_line(cterm);
 	if (tx > 1) {
 		vmem_gettext(cterm->x, sy, cterm->x + tx - 2, sy, line);
@@ -4982,6 +4986,10 @@ static void prestel_fix_line(struct cterminal *cterm, int x, int y, bool restore
 	coord_conv_xy(cterm, CTERM_COORD_TERM, CTERM_COORD_SCREEN, &sy, &sx);
 	ex = sx + TERM_MAXX - 1;
 	line = malloc(sizeof(*line) * (ex - sx + 1));
+	if (line == NULL) {
+		fprintf(stderr, "malloc() in prestel_get_state()\n");
+		return;
+	}
 	vmem_gettext(sx, sy, ex, sy, line);
 	prestel_new_line(cterm);
 	for (int i = 0; i < TERM_MAXX; i++) {
-- 
GitLab