From b0257234608d765c92530d73b096d5a83dbc40d8 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Sat, 17 Feb 2018 19:39:26 +0100 Subject: tools: fixup errno handling --- src/tools/containers.h | 1 - src/tools/ipc.c | 15 ++++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/tools/containers.h b/src/tools/containers.h index 8294ec7..a23da1c 100644 --- a/src/tools/containers.h +++ b/src/tools/containers.h @@ -78,7 +78,6 @@ struct wgdevice { #define for_each_wgpeer(__dev, __peer) for ((__peer) = (__dev)->first_peer; (__peer); (__peer) = (__peer)->next_peer) #define for_each_wgallowedip(__peer, __allowedip) for ((__allowedip) = (__peer)->first_allowedip; (__allowedip); (__allowedip) = (__allowedip)->next_allowedip) -#define max(a, b) ((a) > (b) ? (a) : (b)) static inline void free_wgdevice(struct wgdevice *dev) { diff --git a/src/tools/ipc.c b/src/tools/ipc.c index edc8e8f..3f23d1d 100644 --- a/src/tools/ipc.c +++ b/src/tools/ipc.c @@ -48,7 +48,6 @@ #define SOCKET_BUFFER_SIZE 8192 #endif - struct inflatable_buffer { char *buffer; char *next; @@ -57,6 +56,7 @@ struct inflatable_buffer { size_t pos; }; +#define max(a, b) ((a) > (b) ? (a) : (b)) static int add_next_to_inflatable_buffer(struct inflatable_buffer *buffer) { size_t len, expand_to; @@ -111,7 +111,7 @@ static FILE *userspace_interface_file(const char *interface) int fd = -1, ret; FILE *f = NULL; - ret = -EINVAL; + errno = EINVAL; if (strchr(interface, '/')) goto out; ret = snprintf(addr.sun_path, sizeof(addr.sun_path), SOCK_PATH "%s" SOCK_SUFFIX, interface); @@ -120,7 +120,7 @@ static FILE *userspace_interface_file(const char *interface) ret = stat(addr.sun_path, &sbuf); if (ret < 0) goto out; - ret = -EBADF; + errno = EBADF; if (!S_ISSOCK(sbuf.st_mode)) goto out; @@ -135,12 +135,13 @@ static FILE *userspace_interface_file(const char *interface) goto out; } f = fdopen(fd, "r+"); - if (!f) - ret = -errno; + if (f) + errno = 0; out: - if (ret && fd >= 0) - close(fd); + ret = -errno; if (ret) { + if (fd >= 0) + close(fd); errno = -ret; return NULL; } -- cgit v1.2.3-59-g8ed1b