From 94c2adf49958c568b940bb1394fa5f62c492cb2d Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Thu, 11 Nov 2010 20:41:08 +0000 Subject: [PATCH] malloc(0) may return NULL, so only assume that is an error if allocating more than zero. --- compat/imsg.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compat/imsg.c b/compat/imsg.c index bea7bb3f..6f56465d 100644 --- a/compat/imsg.c +++ b/compat/imsg.c @@ -1,4 +1,4 @@ -/* $Id: imsg.c,v 1.5 2010-06-06 00:08:28 tcunha Exp $ */ +/* $Id: imsg.c,v 1.6 2010-11-11 20:41:08 nicm Exp $ */ /* $OpenBSD: imsg.c,v 1.3 2010/05/26 13:56:07 nicm Exp $ */ /* @@ -111,7 +111,7 @@ imsg_get(struct imsgbuf *ibuf, struct imsg *imsg) return (0); datalen = imsg->hdr.len - IMSG_HEADER_SIZE; ibuf->r.rptr = ibuf->r.buf + IMSG_HEADER_SIZE; - if ((imsg->data = malloc(datalen)) == NULL) + if (datalen != 0 && (imsg->data = malloc(datalen + 1)) == NULL) return (-1); if (imsg->hdr.flags & IMSGF_HASFD)