diff options
Diffstat (limited to 'Src/exec.c')
-rw-r--r-- | Src/exec.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/Src/exec.c b/Src/exec.c index ccba66bf8..7e4b55d43 100644 --- a/Src/exec.c +++ b/Src/exec.c @@ -3111,7 +3111,13 @@ gethere(char *str, int typ) ; for (;;) { if (bptr == buf + bsiz) { - buf = realloc(buf, 2 * bsiz); + char *newbuf = realloc(buf, 2 * bsiz); + if (!newbuf) { + /* out of memory */ + zfree(buf, bsiz); + return NULL; + } + buf = newbuf; t = buf + bsiz - (bptr - t); bptr = buf + bsiz; bsiz *= 2; |