diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-02-17 19:39:26 +0100 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-02-17 20:15:49 +0100 |
commit | b0257234608d765c92530d73b096d5a83dbc40d8 (patch) | |
tree | 107d3fed3908c61d15f86a0d704fcdd097388a98 | |
parent | tools: FreeBSD doesn't have EAI_NODATA (diff) | |
download | wireguard-monolithic-historical-b0257234608d765c92530d73b096d5a83dbc40d8.tar.xz wireguard-monolithic-historical-b0257234608d765c92530d73b096d5a83dbc40d8.zip |
tools: fixup errno handling
-rw-r--r-- | src/tools/containers.h | 1 | ||||
-rw-r--r-- | 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; } |