From 87fb63654515f22943f833f3e31c4e99a95424f2 Mon Sep 17 00:00:00 2001 From: Max Lv Date: Fri, 24 Jul 2015 14:07:53 +0800 Subject: [PATCH] fix some issues --- src/android.c | 6 +++--- src/local.c | 4 ++-- src/udprelay.c | 2 +- src/udprelay.h | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/android.c b/src/android.c index 453dfcaf..639774dc 100644 --- a/src/android.c +++ b/src/android.c @@ -182,14 +182,14 @@ int protect_socket(void (*protect_cb)(int ret, void *data), void *data, int fd) int remotefd; struct sockaddr_un addr; - // Setup - setnonblocking(remotefd); - if ( (remotefd = socket(AF_UNIX, SOCK_STREAM, 0)) == -1) { LOGE("[android] socket() failed: %s (socket fd = %d)\n", strerror(errno), remotefd); return -1; } + // Setup + setnonblocking(remotefd); + memset(&addr, 0, sizeof(addr)); addr.sun_family = AF_UNIX; strncpy(addr.sun_path, "/data/data/com.github.shadowsocks/protect_path", sizeof(addr.sun_path)-1); diff --git a/src/local.c b/src/local.c index 22bf795a..a784b794 100644 --- a/src/local.c +++ b/src/local.c @@ -209,11 +209,11 @@ static void protect_cb(int ret, void *data) { if (ret == -1) { close_and_free_remote(EV_DEFAULT, remote); - close_and_free_remote(EV_DEFAULT, server); + close_and_free_server(EV_DEFAULT, server); return; } - server_recv_cb(EV_DEFAULT, server->recv_ctx, EV_CUSTOM); + server_recv_cb(EV_DEFAULT, &server->recv_ctx->io, EV_CUSTOM); } #endif diff --git a/src/udprelay.c b/src/udprelay.c index 1341684f..15685d1e 100644 --- a/src/udprelay.c +++ b/src/udprelay.c @@ -127,7 +127,7 @@ static void protect_cb(int ret, void *data) { struct protect_ctx *protect_ctx = (struct protect_ctx*)data; if (ret != -1) { int s = sendto(protect_ctx->remote_ctx->fd, protect_ctx->buf, - protect_ctx->buf_len, 0, protect_ctx->addr, protect_ctx->addr_len); + protect_ctx->buf_len, 0, &protect_ctx->addr, protect_ctx->addr_len); if (s == -1) { ERROR("[udp] sendto_remote"); } diff --git a/src/udprelay.h b/src/udprelay.h index a6f89a37..ec235906 100644 --- a/src/udprelay.h +++ b/src/udprelay.h @@ -89,7 +89,7 @@ struct protect_ctx { struct sockaddr_storage addr; int addr_len; struct remote_ctx *remote_ctx; -} +}; #endif #endif // _UDPRELAY_H