diff --git a/netwerk/sctp/src/netinet/sctp_bsd_addr.c b/netwerk/sctp/src/netinet/sctp_bsd_addr.c index 3e0df08f1..eac2b62e4 100644 --- a/netwerk/sctp/src/netinet/sctp_bsd_addr.c +++ b/netwerk/sctp/src/netinet/sctp_bsd_addr.c @@ -336,7 +336,8 @@ sctp_init_ifns_for_vrf(int vrfid) /* Get actual adapter information */ if ((Err = GetAdaptersAddresses(AF_INET, 0, NULL, pAdapterAddrs, &AdapterAddrsSize)) != ERROR_SUCCESS) { SCTP_PRINTF("GetAdaptersV4Addresses() failed with error code %d\n", Err); - FREE(pAdapterAddrs); + if (pAdapterAddrs) + GlobalFree(pAdapterAddrs); return; } /* Enumerate through each returned adapter and save its information */ @@ -361,7 +362,8 @@ sctp_init_ifns_for_vrf(int vrfid) } } } - FREE(pAdapterAddrs); + if (pAdapterAddrs) + GlobalFree(pAdapterAddrs); #endif #ifdef INET6 AdapterAddrsSize = 0; @@ -381,7 +383,8 @@ sctp_init_ifns_for_vrf(int vrfid) /* Get actual adapter information */ if ((Err = GetAdaptersAddresses(AF_INET6, 0, NULL, pAdapterAddrs, &AdapterAddrsSize)) != ERROR_SUCCESS) { SCTP_PRINTF("GetAdaptersV6Addresses() failed with error code %d\n", Err); - FREE(pAdapterAddrs); + if (pAdapterAddrs) + GlobalFree(pAdapterAddrs); return; } /* Enumerate through each returned adapter and save its information */ @@ -403,7 +406,8 @@ sctp_init_ifns_for_vrf(int vrfid) } } } - FREE(pAdapterAddrs); + if (pAdapterAddrs) + GlobalFree(pAdapterAddrs); #endif } #elif defined(__Userspace__)