diff --git a/hist.c b/hist.c index d5df1d3..26ceeb7 100644 --- a/hist.c +++ b/hist.c @@ -745,10 +745,18 @@ hist_saveline(char *line, int len) * Add the line to the end of the history table. */ hp = malloc(sizeof(HIST)); + if (hp == NULL) { + fprintf(stderr, "Out of memory adding line to the history table #0\n"); + return; + } hp->next = NULL; hp->prev = NULL; hp->len = len; hp->data = malloc(len); + if (hp->data == NULL) { + fprintf(stderr, "Out of memory adding line to the history table #1\n"); + return; + } memcpy(hp->data, line, len); HS.curhist = ++HS.histcount; if (!hist_first) diff --git a/obj.c b/obj.c index 48dc6d2..61e98b0 100644 --- a/obj.c +++ b/obj.c @@ -571,9 +571,13 @@ defineobject(char *name, int indices[], int count) } oap = (OBJECTACTIONS *) malloc(objectactionsize(count)); + if (oap == NULL) { + math_error("Cannot allocate object type #0"); + /*NOTREACHED*/ + } name = addstr(hp, name); - if ((oap == NULL) || (name == NULL)) { - math_error("Cannot allocate object type"); + if (name == NULL) { + math_error("Cannot allocate object type #1"); /*NOTREACHED*/ } oap->oa_count = count; diff --git a/str.c b/str.c index 45f7e66..52b3faf 100644 --- a/str.c +++ b/str.c @@ -59,6 +59,10 @@ initstr(STRINGHEAD *hp) { if (hp->h_list == NULL) { hp->h_list = (char *)malloc(2000); + if (hp->h_list == NULL) { + math_error("Cannot allocate string header"); + /*NOTREACHED*/ + } hp->h_avail = 2000; hp->h_used = 0; }