Fix bug #53559: IPv4 to IPv6 filtering not freeing PBUFs

Add missing pbuf_free() call
This commit is contained in:
Dirk Ziegelmeier 2018-04-04 21:04:14 +02:00
parent b0ae967660
commit ffdd44ec74

View File

@ -574,6 +574,8 @@ ip6_input(struct pbuf *p, struct netif *inp)
if (ip6_addr_isipv4mappedipv6(ip_2_ip6(&ip_data.current_iphdr_dest)) || 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_isipv4mappedipv6(ip_2_ip6(&ip_data.current_iphdr_src)) ||
ip6_addr_ismulticast(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.err);
IP6_STATS_INC(ip6.drop); IP6_STATS_INC(ip6.drop);
return ERR_OK; return ERR_OK;