From ae6ce6100a396674e9aeb8d99ad7987bb7a7c60d Mon Sep 17 00:00:00 2001 From: Simon Arlott Date: Sat, 29 Jul 2017 20:29:24 +0100 Subject: [PATCH] ssld: avoid clang static analysis warning Don't set `x = 0` twice. Edit by @aaronmdjones: fix for loop initialisation and inner condition --- ssld/ssld.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/ssld/ssld.c b/ssld/ssld.c index 6100d539..8b17f2ff 100644 --- a/ssld/ssld.c +++ b/ssld/ssld.c @@ -1189,7 +1189,7 @@ int main(int argc, char **argv) { const char *s_ctlfd, *s_pipe, *s_pid; - int ctlfd, pipefd, x, maxfd; + int ctlfd, pipefd, maxfd; maxfd = maxconn(); s_ctlfd = getenv("CTL_FD"); @@ -1209,13 +1209,16 @@ main(int argc, char **argv) ctlfd = atoi(s_ctlfd); pipefd = atoi(s_pipe); ppid = atoi(s_pid); - x = 0; + #ifndef _WIN32 - for(x = 0; x < maxfd; x++) + int x; + + for(x = 3; x < maxfd; x++) { - if(x != ctlfd && x != pipefd && x > 2) + if(x != ctlfd && x != pipefd) close(x); } + x = open("/dev/null", O_RDWR); if(x >= 0) @@ -1230,6 +1233,7 @@ main(int argc, char **argv) close(x); } #endif + setup_signals(); rb_lib_init(NULL, NULL, NULL, 0, maxfd, 1024, 4096); rb_init_rawbuffers(1024);