From 9e4be92cd8658f786bbccc6e56d75f2a80ac6cb7 Mon Sep 17 00:00:00 2001 From: Bryan Roe Date: Fri, 25 Mar 2022 11:19:00 -0700 Subject: [PATCH] Fixed NULL reference exception --- microscript/ILibDuktape_Dgram.c | 2 ++ microstack/ILibAsyncUDPSocket.c | 3 +++ 2 files changed, 5 insertions(+) diff --git a/microscript/ILibDuktape_Dgram.c b/microscript/ILibDuktape_Dgram.c index bcec422..daab5bd 100644 --- a/microscript/ILibDuktape_Dgram.c +++ b/microscript/ILibDuktape_Dgram.c @@ -245,6 +245,8 @@ duk_ret_t ILibDuktape_DGram_multicastMembership(duk_context *ctx) struct sockaddr_in6 multicastAddr; struct sockaddr_in6 localAddr; + if (ptrs->mSocket == NULL) { return ILibDuktape_Error(ctx, "dgram.addMembership(): Invalid Socket"); } + duk_push_current_function(ctx); duk_get_prop_string(ctx, -1, ILibDuktape_DGRAM_MULTICAST_MEMBERSHIP_TYPE); int isAdd = strcmp((char*)duk_get_string(ctx, -1), "add") == 0 ? 1 : 0; diff --git a/microstack/ILibAsyncUDPSocket.c b/microstack/ILibAsyncUDPSocket.c index 7f67c30..cd5769e 100644 --- a/microstack/ILibAsyncUDPSocket.c +++ b/microstack/ILibAsyncUDPSocket.c @@ -206,6 +206,7 @@ void ILibAsyncUDPSocket_DropMulticastGroupV4(ILibAsyncUDPSocket_SocketModule mod void ILibAsyncUDPSocket_JoinMulticastGroupV4(ILibAsyncUDPSocket_SocketModule module, struct sockaddr_in *multicastAddr, struct sockaddr *localAddr) { struct ip_mreq mreq; + if (module == NULL) { return; } #if defined(WIN32) || defined(_WIN32_WCE) SOCKET s = *((SOCKET*)ILibAsyncSocket_GetSocket(module)); #else @@ -224,6 +225,8 @@ void ILibAsyncUDPSocket_JoinMulticastGroupV4(ILibAsyncUDPSocket_SocketModule mod void ILibAsyncUDPSocket_JoinMulticastGroupV6(ILibAsyncUDPSocket_SocketModule module, struct sockaddr_in6 *multicastAddr, int ifIndex) { + if (module == NULL) { return; } + struct ipv6_mreq mreq6; #if defined(WIN32) || defined(_WIN32_WCE) SOCKET s = *((SOCKET*)ILibAsyncSocket_GetSocket(module));