]> git.cameronkatri.com Git - bsdgames-darwin.git/commitdiff
check for malloc failures (PR#6136 by Joseph Myers <jsm28@cam.ac.uk>)
authorhubertf <hubertf@NetBSD.org>
Sun, 13 Sep 1998 15:24:09 +0000 (15:24 +0000)
committerhubertf <hubertf@NetBSD.org>
Sun, 13 Sep 1998 15:24:09 +0000 (15:24 +0000)
adventure/io.c
adventure/vocab.c

index 3158991d51138a6705ee720bfe481bb01b474db2..548339bfe52e2cea39bf247fea23b73abfa0a547 100644 (file)
@@ -1,4 +1,4 @@
-/*     $NetBSD: io.c,v 1.8 1998/09/13 00:07:24 hubertf Exp $   */
+/*     $NetBSD: io.c,v 1.9 1998/09/13 15:24:09 hubertf Exp $   */
 
 /*-
  * Copyright (c) 1991, 1993
 #if 0
 static char sccsid[] = "@(#)io.c       8.1 (Berkeley) 5/31/93";
 #else
-__RCSID("$NetBSD: io.c,v 1.8 1998/09/13 00:07:24 hubertf Exp $");
+__RCSID("$NetBSD: io.c,v 1.9 1998/09/13 15:24:09 hubertf Exp $");
 #endif
 #endif /* not lint */
 
 /*      Re-coding of advent in C: file i/o and user i/o                 */
 
+#include <err.h>
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
@@ -355,6 +356,8 @@ rtrav()
                        return;
                if (locc != oldloc) {   /* getting a new entry         */
                        t = travel[locc] = (struct travlist *) malloc(sizeof(struct travlist));
+                       if ( t == NULL)
+                               errx(1, "Out of memory!");
                        /* printf("New travel list for %d\n",locc);        */
                        entries = 0;
                        oldloc = locc;
@@ -374,8 +377,11 @@ rtrav()
                        m = atoi(buf);
                }
                while (breakch != LF) { /* only do one line at a time   */
-                       if (entries++)
+                       if (entries++) {
                                t = t->next = (struct travlist *) malloc(sizeof(struct travlist));
+                               if (t == NULL)
+                                       errx(1, "Out of memory!");
+                       }
                        t->tverb = rnum();      /* get verb from the file       */
                        t->tloc = n;    /* table entry mod 1000         */
                        t->conditions = m;      /* table entry / 1000           */
@@ -548,8 +554,8 @@ pspeak(m, skip)                     /* read, decrypt an print a ptext message              */
        char   *tbuf;
 
        msg = &ptext[m];
-       if ((tbuf = (char *) malloc(msg->txtlen + 1)) == 0)
-               bug(108);
+       if ((tbuf = (char *) malloc(msg->txtlen + 1)) == NULL)
+               errx(1, "Out of memory!");
        memcpy(tbuf, msg->seekadr, msg->txtlen + 1);    /* Room to null */
        s = tbuf;
 
index d97be6359cd4d589f4a400c8cc57d452aed0db36..2685f8a89f4f19f976632c89a40cd68f83dada5c 100644 (file)
@@ -1,4 +1,4 @@
-/*     $NetBSD: vocab.c,v 1.7 1998/09/13 00:07:24 hubertf Exp $        */
+/*     $NetBSD: vocab.c,v 1.8 1998/09/13 15:24:09 hubertf Exp $        */
 
 /*-
  * Copyright (c) 1991, 1993
 #if 0
 static char sccsid[] = "@(#)vocab.c    8.1 (Berkeley) 5/31/93";
 #else
-__RCSID("$NetBSD: vocab.c,v 1.7 1998/09/13 00:07:24 hubertf Exp $");
+__RCSID("$NetBSD: vocab.c,v 1.8 1998/09/13 15:24:09 hubertf Exp $");
 #endif
 #endif                         /* not lint */
 
 /*      Re-coding of advent in C: data structure routines               */
 
+#include <err.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include "hdr.h"
@@ -163,6 +164,8 @@ vocab(word, type, value)    /* look up or store a word      */
                                goto exitloop2;
                        h->val = value;
                        h->atab = malloc(length(word));
+                       if (h->atab == NULL)
+                               errx(1, "Out of memory!");
                        for (s = word, t = h->atab; *s;)
                                *t++ = *s++ ^ '=';
                        *t = 0 ^ '=';