diff options
author | deraadt <> | 2005-03-07 20:00:15 +0000 |
---|---|---|
committer | deraadt <> | 2005-03-07 20:00:15 +0000 |
commit | 426abf469a8a759606fd33455b084cff18fa71a2 (patch) | |
tree | c468ecf3100d76eb7f0a88833810fb4796a45994 | |
parent | c3616a88a1b51df92c875fce2f3b84f5eb715e9b (diff) | |
download | openbsd-426abf469a8a759606fd33455b084cff18fa71a2.tar.gz openbsd-426abf469a8a759606fd33455b084cff18fa71a2.tar.bz2 openbsd-426abf469a8a759606fd33455b084cff18fa71a2.zip |
fd leak; andrushock@korovino.net
-rw-r--r-- | src/lib/libc/net/rcmd.c | 6 |
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) |
32 | static char *rcsid = "$OpenBSD: rcmd.c,v 1.49 2004/11/17 01:42:26 itojun Exp $"; | 32 | static 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) { |