mirror of
https://github.com/tmux/tmux.git
synced 2024-11-17 09:58:52 +00:00
Sync OpenBSD patchset 680:
Remove XXX comment and just close received fd if calloc() fails. If this happens the imsg may no longer be usable as there may be queued messages, but this is a) already the case with the code now, and b) would be the case if recvmsg() fails anyway, so we can document that -1 from imsg_read() invalidates the struct imsgbuf. discussed with and ok eric
This commit is contained in:
parent
b2e752b384
commit
0646b3caf2
@ -1,5 +1,5 @@
|
|||||||
/* $Id: imsg.c,v 1.3 2009-08-20 12:54:08 nicm Exp $ */
|
/* $Id: imsg.c,v 1.4 2010-04-12 21:45:18 tcunha Exp $ */
|
||||||
/* $OpenBSD: imsg.c,v 1.1 2009/08/11 17:18:35 nicm Exp $ */
|
/* $OpenBSD: imsg.c,v 1.2 2010/04/07 18:09:39 nicm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
|
* Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
|
||||||
@ -79,7 +79,7 @@ imsg_read(struct imsgbuf *ibuf)
|
|||||||
cmsg->cmsg_type == SCM_RIGHTS) {
|
cmsg->cmsg_type == SCM_RIGHTS) {
|
||||||
fd = (*(int *)CMSG_DATA(cmsg));
|
fd = (*(int *)CMSG_DATA(cmsg));
|
||||||
if ((ifd = calloc(1, sizeof(struct imsg_fd))) == NULL) {
|
if ((ifd = calloc(1, sizeof(struct imsg_fd))) == NULL) {
|
||||||
/* XXX: this return can leak */
|
close(fd);
|
||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
ifd->fd = fd;
|
ifd->fd = fd;
|
||||||
|
Loading…
Reference in New Issue
Block a user