From ffdd44ec7480758d00e7539dcff14487f60c8183 Mon Sep 17 00:00:00 2001 From: Dirk Ziegelmeier Date: Wed, 4 Apr 2018 21:04:14 +0200 Subject: [PATCH] Fix bug #53559: IPv4 to IPv6 filtering not freeing PBUFs Add missing pbuf_free() call --- src/core/ipv6/ip6.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/core/ipv6/ip6.c b/src/core/ipv6/ip6.c index efbd4f7b..16f3eea6 100644 --- a/src/core/ipv6/ip6.c +++ b/src/core/ipv6/ip6.c @@ -574,6 +574,8 @@ ip6_input(struct pbuf *p, struct netif *inp) if (ip6_addr_isipv4mappedipv6(ip_2_ip6(&ip_data.current_iphdr_dest)) || ip6_addr_isipv4mappedipv6(ip_2_ip6(&ip_data.current_iphdr_src)) || ip6_addr_ismulticast(ip_2_ip6(&ip_data.current_iphdr_src))) { + /* free (drop) packet pbufs */ + pbuf_free(p); IP6_STATS_INC(ip6.err); IP6_STATS_INC(ip6.drop); return ERR_OK;