diff --git a/compat/imsg.c b/compat/imsg.c index 2d662d36..d2f55518 100644 --- a/compat/imsg.c +++ b/compat/imsg.c @@ -1,5 +1,5 @@ -/* $Id: imsg.c,v 1.3 2009-08-20 12:54:08 nicm Exp $ */ -/* $OpenBSD: imsg.c,v 1.1 2009/08/11 17:18:35 nicm Exp $ */ +/* $Id: imsg.c,v 1.4 2010-04-12 21:45:18 tcunha Exp $ */ +/* $OpenBSD: imsg.c,v 1.2 2010/04/07 18:09:39 nicm Exp $ */ /* * Copyright (c) 2003, 2004 Henning Brauer @@ -79,7 +79,7 @@ imsg_read(struct imsgbuf *ibuf) cmsg->cmsg_type == SCM_RIGHTS) { fd = (*(int *)CMSG_DATA(cmsg)); if ((ifd = calloc(1, sizeof(struct imsg_fd))) == NULL) { - /* XXX: this return can leak */ + close(fd); return (-1); } ifd->fd = fd;