From 30251b14046c942a03f088c0a7cc991c4f2e4e9b Mon Sep 17 00:00:00 2001 From: Dirk Ziegelmeier Date: Tue, 4 Oct 2016 12:34:53 +0200 Subject: [PATCH] Fix bug #49264: Crash Error when LWIP_SOCKET_OFFSET is in use Handle LWIP_SOCKET_OFFSET in lwip_socket_drop_registered_memberships, lwip_socket_unregister_membership and lwip_socket_register_membership. --- src/api/sockets.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/api/sockets.c b/src/api/sockets.c index d6455534..d63924e7 100644 --- a/src/api/sockets.c +++ b/src/api/sockets.c @@ -2732,7 +2732,7 @@ lwip_socket_register_membership(int s, const ip4_addr_t *if_addr, const ip4_addr { /* s+1 is stored in the array to prevent having to initialize the array (default initialization is to 0) */ - int sa = s + 1; + int sa = s + 1 - LWIP_SOCKET_OFFSET; int i; for (i = 0; i < LWIP_SOCKET_MAX_MEMBERSHIPS; i++) { @@ -2756,7 +2756,7 @@ lwip_socket_unregister_membership(int s, const ip4_addr_t *if_addr, const ip4_ad { /* s+1 is stored in the array to prevent having to initialize the array (default initialization is to 0) */ - int sa = s + 1; + int sa = s + 1 - LWIP_SOCKET_OFFSET; int i; for (i = 0; i < LWIP_SOCKET_MAX_MEMBERSHIPS; i++) { @@ -2779,7 +2779,7 @@ static void lwip_socket_drop_registered_memberships(int s) { /* s+1 is stored in the array to prevent having to initialize the array (default initialization is to 0) */ - int sa = s + 1; + int sa = s + 1 - LWIP_SOCKET_OFFSET; int i; LWIP_ASSERT("socket has no netconn", sockets[s].conn != NULL);