Module Name: src Committed By: christos Date: Wed Nov 27 20:52:24 UTC 2013
Modified Files: src/external/bsd/nvi/dist/ipc: ipc_method.c Log Message: CID 1132757: Check error return To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/external/bsd/nvi/dist/ipc/ipc_method.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/external/bsd/nvi/dist/ipc/ipc_method.c diff -u src/external/bsd/nvi/dist/ipc/ipc_method.c:1.5 src/external/bsd/nvi/dist/ipc/ipc_method.c:1.6 --- src/external/bsd/nvi/dist/ipc/ipc_method.c:1.5 Wed Nov 27 15:50:45 2013 +++ src/external/bsd/nvi/dist/ipc/ipc_method.c Wed Nov 27 15:52:24 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: ipc_method.c,v 1.5 2013/11/27 20:50:45 christos Exp $ */ +/* $NetBSD: ipc_method.c,v 1.6 2013/11/27 20:52:24 christos Exp $ */ /*- * Copyright (c) 1996 * Rob Zimmermann. All rights reserved. @@ -110,7 +110,8 @@ vi_new_window (IPVI *ipvi, IPVIWIN **ipv ch.header.cmsg_len = sizeof(ch); *(int *)CMSG_DATA(&ch.header) = sockets[1]; - sendmsg(ipvi->ofd, &mh, 0); + if (sendmsg(ipvi->ofd, &mh, 0) == -1) + goto alloc_err; dummy = (fd == -1) ? ' ' : 'F'; *(int *)CMSG_DATA(&ch.header) = sockets[1]; sendmsg(sockets[0], &mh, 0); @@ -118,7 +119,8 @@ vi_new_window (IPVI *ipvi, IPVIWIN **ipv if (fd != -1) { *(int *)CMSG_DATA(&ch.header) = fd; - sendmsg(sockets[0], &mh, 0); + if (sendmsg(sockets[0], &mh, 0) == -1) + goto alloc_err; close(fd); } @@ -155,6 +157,8 @@ vi_new_window (IPVI *ipvi, IPVIWIN **ipv return 0; alloc_err: + if (fd != -1) + close(fd); return 1; }