From 6ec456b0fc7dfc8cd23683e0064d8a03d512b03e Mon Sep 17 00:00:00 2001
From: Martine Lenders <m.lenders@fu-berlin.de>
Date: Wed, 14 Nov 2018 14:20:16 +0100
Subject: [PATCH] gnrc_icmpv6_error: don't release orig_pkt on error

The stack might still wants to do something with the packet after
copying it to the error message.
---
 .../icmpv6/error/gnrc_icmpv6_error.c          | 20 -------------------
 1 file changed, 20 deletions(-)

diff --git a/sys/net/gnrc/network_layer/icmpv6/error/gnrc_icmpv6_error.c b/sys/net/gnrc/network_layer/icmpv6/error/gnrc_icmpv6_error.c
index 9f61111a41..0cbf6ddfd2 100644
--- a/sys/net/gnrc/network_layer/icmpv6/error/gnrc_icmpv6_error.c
+++ b/sys/net/gnrc/network_layer/icmpv6/error/gnrc_icmpv6_error.c
@@ -128,11 +128,6 @@ void gnrc_icmpv6_error_dst_unr_send(uint8_t code, gnrc_pktsnip_t *orig_pkt)
     if (pkt != NULL) {
         gnrc_netapi_send(gnrc_ipv6_pid, pkt);
     }
-#ifdef MODULE_GNRC_PKTBUF
-    gnrc_pktbuf_release_error(orig_pkt, EHOSTUNREACH);
-#else
-    (void)orig_pkt;
-#endif
 }
 
 void gnrc_icmpv6_error_pkt_too_big_send(uint32_t mtu, gnrc_pktsnip_t *orig_pkt)
@@ -142,11 +137,6 @@ void gnrc_icmpv6_error_pkt_too_big_send(uint32_t mtu, gnrc_pktsnip_t *orig_pkt)
     if (pkt != NULL) {
         gnrc_netapi_send(gnrc_ipv6_pid, pkt);
     }
-#ifdef MODULE_GNRC_PKTBUF
-    gnrc_pktbuf_release_error(orig_pkt, EMSGSIZE);
-#else
-    (void)orig_pkt;
-#endif
 }
 
 void gnrc_icmpv6_error_time_exc_send(uint8_t code, gnrc_pktsnip_t *orig_pkt)
@@ -156,11 +146,6 @@ void gnrc_icmpv6_error_time_exc_send(uint8_t code, gnrc_pktsnip_t *orig_pkt)
     if (pkt != NULL) {
         gnrc_netapi_send(gnrc_ipv6_pid, pkt);
     }
-#ifdef MODULE_GNRC_PKTBUF
-    gnrc_pktbuf_release_error(orig_pkt, ETIMEDOUT);
-#else
-    (void)orig_pkt;
-#endif
 }
 
 void gnrc_icmpv6_error_param_prob_send(uint8_t code, void *ptr,
@@ -171,11 +156,6 @@ void gnrc_icmpv6_error_param_prob_send(uint8_t code, void *ptr,
     if (pkt != NULL) {
         gnrc_netapi_send(gnrc_ipv6_pid, pkt);
     }
-#ifdef MODULE_GNRC_PKTBUF
-    gnrc_pktbuf_release_error(orig_pkt, EINVAL);
-#else
-    (void)orig_pkt;
-#endif
 }
 
 /** @} */
-- 
GitLab