diff --git a/sys/include/net/gnrc/udp.h b/sys/include/net/gnrc/udp.h index 91e4bbe9818d..2b19e9887629 100644 --- a/sys/include/net/gnrc/udp.h +++ b/sys/include/net/gnrc/udp.h @@ -76,6 +76,8 @@ int gnrc_udp_calc_csum(gnrc_pktsnip_t *hdr, gnrc_pktsnip_t *pseudo_hdr); * @return pointer to the newly created (and allocated) header * @return NULL on `src == NULL`, `dst == NULL`, `src_len != 2`, `dst_len != 2` * or on allocation error + * + * @pre `src > 0` and `dst > 0` */ gnrc_pktsnip_t *gnrc_udp_hdr_build(gnrc_pktsnip_t *payload, uint16_t src, uint16_t dst); diff --git a/sys/net/gnrc/transport_layer/udp/gnrc_udp.c b/sys/net/gnrc/transport_layer/udp/gnrc_udp.c index 2bc293f4b46f..ceeb4d33a09a 100644 --- a/sys/net/gnrc/transport_layer/udp/gnrc_udp.c +++ b/sys/net/gnrc/transport_layer/udp/gnrc_udp.c @@ -280,6 +280,8 @@ int gnrc_udp_calc_csum(gnrc_pktsnip_t *hdr, gnrc_pktsnip_t *pseudo_hdr) gnrc_pktsnip_t *gnrc_udp_hdr_build(gnrc_pktsnip_t *payload, uint16_t src, uint16_t dst) { + assert((src > 0) && (dst > 0)); + gnrc_pktsnip_t *res; udp_hdr_t *hdr;