BUG/MINOR: namespace: avoid closing fd when socket failed in my_socketat

we cannot return right after socket opening as we need to move back to
the default namespace first

this should fix github issue #500

this might be backported to all version >= 1.6

Fixes: b3e54fe387c7c1 ("MAJOR: namespace: add Linux network namespace
support")
Signed-off-by: William Dauchy <w.dauchy@criteo.com>
(cherry picked from commit f7dcdc8a6f63b172360019beb6e1e22e7c98f17d)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 2367817e4850c2060793361a7b3bf3bb73105097)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
diff --git a/src/namespace.c b/src/namespace.c
index f23da48..89a968e 100644
--- a/src/namespace.c
+++ b/src/namespace.c
@@ -121,7 +121,8 @@
 	sock = socket(domain, type, protocol);
 
 	if (default_namespace >= 0 && ns && setns(default_namespace, CLONE_NEWNET) == -1) {
-		close(sock);
+		if (sock >= 0)
+			close(sock);
 		return -1;
 	}
 	return sock;