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