qrexec-fork-server: Always initialize addrlen argument of accept()
With the old code the addrlen argument were uninitialized on the first call resulting in errors depending on the compiler behavior.
This commit is contained in:
父節點
24c875030e
當前提交
f4c402e7c7
@ -112,12 +112,15 @@ int main(int argc, char **argv) {
|
|||||||
signal(SIGCHLD, SIG_IGN);
|
signal(SIGCHLD, SIG_IGN);
|
||||||
register_exec_func(do_exec);
|
register_exec_func(do_exec);
|
||||||
|
|
||||||
while ((fd = accept(s, (struct sockaddr *) &peer, &addrlen)) >= 0) {
|
while (1) {
|
||||||
|
addrlen = sizeof(peer);
|
||||||
|
fd = accept(s, (struct sockaddr *) &peer, &addrlen);
|
||||||
|
if (fd < 0)
|
||||||
|
break;
|
||||||
if (read_all(fd, &info, sizeof(info))) {
|
if (read_all(fd, &info, sizeof(info))) {
|
||||||
handle_single_command(fd, &info);
|
handle_single_command(fd, &info);
|
||||||
}
|
}
|
||||||
close(fd);
|
close(fd);
|
||||||
addrlen = sizeof(peer);
|
|
||||||
}
|
}
|
||||||
close(s);
|
close(s);
|
||||||
unlink(socket_path);
|
unlink(socket_path);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user