aboutsummaryrefslogtreecommitdiff
path: root/misc.c
diff options
context:
space:
mode:
authorKevin Wolf <kwolf@redhat.com>2009-12-02 12:24:42 +0100
committerAnthony Liguori <aliguori@us.ibm.com>2009-12-03 11:45:50 -0600
commit1e784fd7fccbab2e4c161f02d890ba304e0fdd3f (patch)
treebb44439c735a0ccc875827a8ad082b9964846d6e /misc.c
parenta6ecd0ff1bbf38e5bc36dd9a0ecd5d3cf4112a81 (diff)
downloadslirp-1e784fd7fccbab2e4c161f02d890ba304e0fdd3f.zip
slirp-1e784fd7fccbab2e4c161f02d890ba304e0fdd3f.tar.gz
slirp-1e784fd7fccbab2e4c161f02d890ba304e0fdd3f.tar.bz2
We're leaking file descriptors to child processes. Set FD_CLOEXEC on file descriptors that don't need to be passed to children to stop this misbehaviour. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'misc.c')
-rw-r--r--misc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/misc.c b/misc.c
index 8f2c48d..48abe9d 100644
--- a/misc.c
+++ b/misc.c
@@ -125,7 +125,7 @@ int fork_exec(struct socket *so, const char *ex, int do_pty)
addr.sin_port = 0;
addr.sin_addr.s_addr = INADDR_ANY;
- if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0 ||
+ if ((s = qemu_socket(AF_INET, SOCK_STREAM, 0)) < 0 ||
bind(s, (struct sockaddr *)&addr, addrlen) < 0 ||
listen(s, 1) < 0) {
lprint("Error: inet socket: %s\n", strerror(errno));
@@ -158,7 +158,7 @@ int fork_exec(struct socket *so, const char *ex, int do_pty)
* Connect to the socket
* XXX If any of these fail, we're in trouble!
*/
- s = socket(AF_INET, SOCK_STREAM, 0);
+ s = qemu_socket(AF_INET, SOCK_STREAM, 0);
addr.sin_addr = loopback_addr;
do {
ret = connect(s, (struct sockaddr *)&addr, addrlen);