From fd3f806e32651ebba9cc09772887c20f675f39b6 Mon Sep 17 00:00:00 2001 From: Martine Lenders <m.lenders@fu-berlin.de> Date: Fri, 8 Feb 2019 21:53:46 +0100 Subject: [PATCH] gnrc_ipv6_nib: release packet when NC entry can't be added When the neighbor cache is full, the packet trying to resolve a neighbor is not released. This change fixes that. --- sys/net/gnrc/network_layer/ipv6/nib/nib.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/net/gnrc/network_layer/ipv6/nib/nib.c b/sys/net/gnrc/network_layer/ipv6/nib/nib.c index 8189482714..c487ddefca 100644 --- a/sys/net/gnrc/network_layer/ipv6/nib/nib.c +++ b/sys/net/gnrc/network_layer/ipv6/nib/nib.c @@ -1130,6 +1130,7 @@ static bool _resolve_addr(const ipv6_addr_t *dst, gnrc_netif_t *netif, entry = _nib_nc_add(dst, (netif != NULL) ? netif->pid : 0, GNRC_IPV6_NIB_NC_INFO_NUD_STATE_INCOMPLETE); if (entry == NULL) { + gnrc_pktbuf_release(pkt); return false; } #if GNRC_IPV6_NIB_CONF_ROUTER -- GitLab