diff --git a/sys/net/gnrc/netif/gnrc_netif_raw.c b/sys/net/gnrc/netif/gnrc_netif_raw.c index 7abb6cba6884c8de0beee6b4b89393ed6770de54..53be2147cf1d19de00d90b98cf62e6b24ad61ab7 100644 --- a/sys/net/gnrc/netif/gnrc_netif_raw.c +++ b/sys/net/gnrc/netif/gnrc_netif_raw.c @@ -100,8 +100,11 @@ static int _send(gnrc_netif_t *netif, gnrc_pktsnip_t *pkt) /* we don't need the netif snip: remove it */ pkt = gnrc_pktbuf_remove_snip(pkt, pkt); } + /* prepare packet for sending */ vector = gnrc_pktbuf_get_iovec(pkt, &n); if (vector != NULL) { + /* reassign for later release; vector is prepended to pkt */ + pkt = vector; struct iovec *v = (struct iovec *)vector->data; netdev_t *dev = netif->dev;