summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorderaadt <>2005-03-07 20:00:15 +0000
committerderaadt <>2005-03-07 20:00:15 +0000
commit426abf469a8a759606fd33455b084cff18fa71a2 (patch)
treec468ecf3100d76eb7f0a88833810fb4796a45994
parentc3616a88a1b51df92c875fce2f3b84f5eb715e9b (diff)
downloadopenbsd-426abf469a8a759606fd33455b084cff18fa71a2.tar.gz
openbsd-426abf469a8a759606fd33455b084cff18fa71a2.tar.bz2
openbsd-426abf469a8a759606fd33455b084cff18fa71a2.zip
fd leak; andrushock@korovino.net
-rw-r--r--src/lib/libc/net/rcmd.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lib/libc/net/rcmd.c b/src/lib/libc/net/rcmd.c
index b99a35b38c..4aa3261133 100644
--- a/src/lib/libc/net/rcmd.c
+++ b/src/lib/libc/net/rcmd.c
@@ -29,7 +29,7 @@
29 */ 29 */
30 30
31#if defined(LIBC_SCCS) && !defined(lint) 31#if defined(LIBC_SCCS) && !defined(lint)
32static char *rcsid = "$OpenBSD: rcmd.c,v 1.49 2004/11/17 01:42:26 itojun Exp $"; 32static char *rcsid = "$OpenBSD: rcmd.c,v 1.50 2005/03/07 20:00:15 deraadt Exp $";
33#endif /* LIBC_SCCS and not lint */ 33#endif /* LIBC_SCCS and not lint */
34 34
35#include <sys/param.h> 35#include <sys/param.h>
@@ -213,8 +213,10 @@ rcmd_af(ahost, rport, locuser, remuser, cmd, fd2p, af)
213 if (s2 < 0) 213 if (s2 < 0)
214 goto bad; 214 goto bad;
215 readsp = (fd_set *)malloc(fdssize); 215 readsp = (fd_set *)malloc(fdssize);
216 if (readsp == NULL) 216 if (readsp == NULL) {
217 close(s2);
217 goto bad; 218 goto bad;
219 }
218 listen(s2, 1); 220 listen(s2, 1);
219 (void)snprintf(num, sizeof(num), "%d", lport); 221 (void)snprintf(num, sizeof(num), "%d", lport);
220 if (write(s, num, strlen(num)+1) != strlen(num)+1) { 222 if (write(s, num, strlen(num)+1) != strlen(num)+1) {