diff --git a/sys/net/gnrc/network_layer/sixlowpan/frag/rbuf.c b/sys/net/gnrc/network_layer/sixlowpan/frag/rbuf.c index baa343a73964d4b1aed64c9455a4f2f0053b057a..8edb73b053ce9e3c214ced30172ee86e919310da 100644 --- a/sys/net/gnrc/network_layer/sixlowpan/frag/rbuf.c +++ b/sys/net/gnrc/network_layer/sixlowpan/frag/rbuf.c @@ -82,6 +82,7 @@ void rbuf_add(gnrc_netif_hdr_t *netif_hdr, gnrc_pktsnip_t *pkt, if (entry == NULL) { DEBUG("6lo rbuf: reassembly buffer full.\n"); + gnrc_pktbuf_release(pkt); return; } @@ -136,6 +137,7 @@ void rbuf_add(gnrc_netif_hdr_t *netif_hdr, gnrc_pktsnip_t *pkt, sizeof(sixlowpan_frag_t), GNRC_NETTYPE_SIXLOWPAN); if (frag_hdr == NULL) { gnrc_pktbuf_release(entry->super.pkt); + gnrc_pktbuf_release(pkt); rbuf_rm(entry); return; }