slirp: Remove unused variable and unused code

9634d9031c disabled unused code.
This patch removes what was left.

If do_pty is 2, the function returns immediately, so any later checks
for do_pty == 2 will always fail and can be removed together with
the code which is never executed. Then variable master is unused and
can be removed, too.

This issue was detected by coverity.

Cc: Blue Swirl <blauwirbel@gmail.com>
Signed-off-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
This commit is contained in:
Stefan Weil 2012-01-05 14:18:45 +01:00 committed by Jan Kiszka
parent cf4dc461a4
commit 9f1134d4aa

View file

@ -113,7 +113,6 @@ fork_exec(struct socket *so, const char *ex, int do_pty)
struct sockaddr_in addr; struct sockaddr_in addr;
socklen_t addrlen = sizeof(addr); socklen_t addrlen = sizeof(addr);
int opt; int opt;
int master = -1;
const char *argv[256]; const char *argv[256];
/* don't want to clobber the original */ /* don't want to clobber the original */
char *bptr; char *bptr;
@ -148,32 +147,23 @@ fork_exec(struct socket *so, const char *ex, int do_pty)
case -1: case -1:
lprint("Error: fork failed: %s\n", strerror(errno)); lprint("Error: fork failed: %s\n", strerror(errno));
close(s); close(s);
if (do_pty == 2)
close(master);
return 0; return 0;
case 0: case 0:
setsid(); setsid();
/* Set the DISPLAY */ /* Set the DISPLAY */
if (do_pty == 2) { getsockname(s, (struct sockaddr *)&addr, &addrlen);
(void) close(master); close(s);
#ifdef TIOCSCTTY /* XXXXX */ /*
ioctl(s, TIOCSCTTY, (char *)NULL); * Connect to the socket
#endif * XXX If any of these fail, we're in trouble!
} else { */
getsockname(s, (struct sockaddr *)&addr, &addrlen); s = qemu_socket(AF_INET, SOCK_STREAM, 0);
close(s); addr.sin_addr = loopback_addr;
/* do {
* Connect to the socket ret = connect(s, (struct sockaddr *)&addr, addrlen);
* XXX If any of these fail, we're in trouble! } while (ret < 0 && errno == EINTR);
*/
s = qemu_socket(AF_INET, SOCK_STREAM, 0);
addr.sin_addr = loopback_addr;
do {
ret = connect(s, (struct sockaddr *)&addr, addrlen);
} while (ret < 0 && errno == EINTR);
}
dup2(s, 0); dup2(s, 0);
dup2(s, 1); dup2(s, 1);
@ -210,26 +200,21 @@ fork_exec(struct socket *so, const char *ex, int do_pty)
default: default:
qemu_add_child_watch(pid); qemu_add_child_watch(pid);
if (do_pty == 2) { /*
close(s); * XXX this could block us...
so->s = master; * XXX Should set a timer here, and if accept() doesn't
} else { * return after X seconds, declare it a failure
/* * The only reason this will block forever is if socket()
* XXX this could block us... * of connect() fail in the child process
* XXX Should set a timer here, and if accept() doesn't */
* return after X seconds, declare it a failure do {
* The only reason this will block forever is if socket() so->s = accept(s, (struct sockaddr *)&addr, &addrlen);
* of connect() fail in the child process } while (so->s < 0 && errno == EINTR);
*/ closesocket(s);
do { opt = 1;
so->s = accept(s, (struct sockaddr *)&addr, &addrlen); setsockopt(so->s, SOL_SOCKET, SO_REUSEADDR, (char *)&opt, sizeof(int));
} while (so->s < 0 && errno == EINTR); opt = 1;
closesocket(s); setsockopt(so->s, SOL_SOCKET, SO_OOBINLINE, (char *)&opt, sizeof(int));
opt = 1;
setsockopt(so->s,SOL_SOCKET,SO_REUSEADDR,(char *)&opt,sizeof(int));
opt = 1;
setsockopt(so->s,SOL_SOCKET,SO_OOBINLINE,(char *)&opt,sizeof(int));
}
fd_nonblock(so->s); fd_nonblock(so->s);
/* Append the telnet options now */ /* Append the telnet options now */