diff --git a/sys/net/gnrc/sock/ip/gnrc_sock_ip.c b/sys/net/gnrc/sock/ip/gnrc_sock_ip.c index 6ba232480aa64f44bb9c90592490fd74c291e838..548e0d710f58795b9c1bb259cb58bcf380b1bb7a 100644 --- a/sys/net/gnrc/sock/ip/gnrc_sock_ip.c +++ b/sys/net/gnrc/sock/ip/gnrc_sock_ip.c @@ -120,8 +120,9 @@ ssize_t sock_ip_recv(sock_ip_t *sock, void *data, size_t max_len, return -EPROTO; } memcpy(data, pkt->data, pkt->size); + res = (int)pkt->size; gnrc_pktbuf_release(pkt); - return (int)pkt->size; + return res; } ssize_t sock_ip_send(sock_ip_t *sock, const void *data, size_t len, diff --git a/sys/net/gnrc/sock/udp/gnrc_sock_udp.c b/sys/net/gnrc/sock/udp/gnrc_sock_udp.c index 228aa780956c96f93a3443bfbf271692d3e70faf..6268befe2c4185b210b848edf4683ab90892636b 100644 --- a/sys/net/gnrc/sock/udp/gnrc_sock_udp.c +++ b/sys/net/gnrc/sock/udp/gnrc_sock_udp.c @@ -215,8 +215,9 @@ ssize_t sock_udp_recv(sock_udp_t *sock, void *data, size_t max_len, return -EPROTO; } memcpy(data, pkt->data, pkt->size); + res = (int)pkt->size; gnrc_pktbuf_release(pkt); - return (int)pkt->size; + return res; } ssize_t sock_udp_send(sock_udp_t *sock, const void *data, size_t len,