diff --git a/sys/net/application_layer/nanocoap/nanocoap.c b/sys/net/application_layer/nanocoap/nanocoap.c index cb7b2e30dadd86a124f95c29e6af21f369b42c53..c1678c700ed11dde0190a1f05b357c81e65aa8a5 100644 --- a/sys/net/application_layer/nanocoap/nanocoap.c +++ b/sys/net/application_layer/nanocoap/nanocoap.c @@ -350,12 +350,17 @@ ssize_t coap_reply_simple(coap_pkt_t *pkt, if (payload_len) { bufpos += coap_put_option_ct(bufpos, 0, ct); *bufpos++ = 0xff; + } + + ssize_t res = coap_build_reply(pkt, code, buf, len, + bufpos - payload_start + payload_len); + if (payload_len && (res > 0)) { + assert(payload); memcpy(bufpos, payload, payload_len); - bufpos += payload_len; } - return coap_build_reply(pkt, code, buf, len, bufpos - payload_start); + return res; } ssize_t coap_build_reply(coap_pkt_t *pkt, unsigned code,