In _getsocks() functuoin, when we failed to set the unix socket in
non-blocking mode, a goto to "out" label led to loop infinitly. To fix the
issue, we must only let the function exit.
This patch should be backported to all stable versions.
}
out:
- if (fd >= 0 && old_fcntl >= 0 && fcntl(fd, F_SETFL, old_fcntl) == -1) {
+ if (fd >= 0 && old_fcntl >= 0 && fcntl(fd, F_SETFL, old_fcntl) == -1)
ha_warning("Cannot make the unix socket non-blocking\n");
- goto out;
- }
applet_set_eoi(appctx);
appctx->st0 = CLI_ST_END;
free(cmsgbuf);