From 71aaa5a791e87b6cec28cc61ad48bed7901bd77e Mon Sep 17 00:00:00 2001 From: Matthias Andree Date: Tue, 3 Dec 2013 11:20:45 +0000 Subject: [PATCH] Fix previous errno saving fix. --- src/network.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/network.c b/src/network.c index 5225ec5..f2d2819 100644 --- a/src/network.c +++ b/src/network.c @@ -657,7 +657,7 @@ static int make_sock(union mysockaddr *addr, int type, int dienow) if ((fd = socket(family, type, 0)) == -1) { - int port; + int port, errsav; char *s; /* No error if the kernel just doesn't support this IP flavour */ @@ -667,17 +667,16 @@ static int make_sock(union mysockaddr *addr, int type, int dienow) return -1; err: + errsav = errno; port = prettyprint_addr(addr, daemon->addrbuff); if (!option_bool(OPT_NOWILD) && !option_bool(OPT_CLEVERBIND)) sprintf(daemon->addrbuff, "port %d", port); s = _("failed to create listening socket for %s: %s"); if (fd != -1) - { - int errsav = errno; - close (fd); - errno = errsav; - } + close (fd); + + errno = errsav; if (dienow) {