Failing name resolution could lead to SIGSEGV

This commit is contained in:
Gerhard Rieger 2016-05-08 13:52:20 +02:00
parent 6b596b8852
commit 1de74d4ca9
3 changed files with 6 additions and 2 deletions

View file

@ -2,6 +2,9 @@
corrections:
SIGSEGV and other signals could lead to a 100% CPU loop
Failing name resolution could lead to SIGSEGV
Thanks to Max for reporting this issue.
testing:
socks4echo.sh and socks4a-echo.sh hung with new bash with read -n

View file

@ -232,7 +232,7 @@ void msg(int level, const char *format, ...) {
diag_flush();
}
if (level < diagopts.msglevel) { va_end(ap); return; }
if (level < diagopts.msglevel) { return; }
va_start(ap, format);
/* we do only a minimum in the outer parts which may run in a signal handler

View file

@ -239,7 +239,8 @@ int xiogetaddrinfo(const char *node, const char *service,
if ((error_num = Getaddrinfo(node, service, &hints, &res)) != 0) {
Error7("getaddrinfo(\"%s\", \"%s\", {%d,%d,%d,%d}, {}): %s",
node, service, hints.ai_flags, hints.ai_family,
node?node:"NULL", service?service:"NULL",
hints.ai_flags, hints.ai_family,
hints.ai_socktype, hints.ai_protocol,
(error_num == EAI_SYSTEM)?
strerror(errno):gai_strerror(error_num));