diff options
-rw-r--r-- | env.c | 2 | ||||
-rw-r--r-- | rfc822.c | 2 | ||||
-rw-r--r-- | smbutil.c | 2 |
3 files changed, 4 insertions, 2 deletions
@@ -290,7 +290,7 @@ char *visbuf(const char *buf) needed = strlen(buf) * 5 + 1; /* worst case: HEX, plus NUL byte */ - if (needed > vbufs) { + if (!vbuf || needed > vbufs) { vbufs = needed; vbuf = (char *)xrealloc(vbuf, vbufs); } @@ -247,6 +247,8 @@ char *nxtaddr(const char *hdr /* header to be parsed, NUL to continue previous h tp = 0; } + if (!hp) return NULL; + for (; *hp; hp++) { #ifdef MAIN @@ -85,7 +85,7 @@ static void dumpRaw(FILE *fp, unsigned char *buf, size_t len) /* helper macro to destructively resize buffers; assumes that bufsiz * is initialized to 0 if buf is unallocated! */ #define allocbuf(buf, bufsiz, need) do { \ - if ((need) > (bufsiz)) \ + if (!buf || (need) > (bufsiz)) \ { \ (bufsiz) = ((need) < 1024) ? 1024 : (need); \ xfree(buf); \ |