From dba104c82ef151b26b806cc17ee29c4ab9a5b5e6 Mon Sep 17 00:00:00 2001 From: Serge Hallyn Date: Mon, 4 Mar 2013 10:47:58 -0600 Subject: [PATCH] af_unix: make sure to keep useful errno Signed-off-by: Serge Hallyn --- src/lxc/af_unix.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/lxc/af_unix.c b/src/lxc/af_unix.c index 2a3482847..f6c65fb3a 100644 --- a/src/lxc/af_unix.c +++ b/src/lxc/af_unix.c @@ -56,12 +56,16 @@ int lxc_af_unix_open(const char *path, int type, int flags) path[0]?strlen(path):sizeof(addr.sun_path)); if (bind(fd, (struct sockaddr *)&addr, sizeof(addr))) { + int tmp = errno; close(fd); + errno = tmp; return -1; } if (type == SOCK_STREAM && listen(fd, 100)) { + int tmp = errno; close(fd); + errno = tmp; return -1; } @@ -99,7 +103,9 @@ int lxc_af_unix_connect(const char *path) path[0]?strlen(path):sizeof(addr.sun_path)); if (connect(fd, (struct sockaddr *)&addr, sizeof(addr))) { + int tmp = errno; close(fd); + errno = tmp; return -1; }