diff --git a/src/coap_net.c b/src/coap_net.c index 822f52c2..005f2463 100644 --- a/src/coap_net.c +++ b/src/coap_net.c @@ -1747,10 +1747,12 @@ coap_send_internal(coap_session_t *session, coap_pdu_t *pdu) { if (pdu->used_size + 1 > pdu->max_size) { /* No space */ + coap_delete_pdu(pdu); return (coap_mid_t)COAP_DROPPED_RESPONSE; } if (!coap_pdu_resize(pdu, pdu->used_size + 1)) { /* Internal error */ + coap_delete_pdu(pdu); return (coap_mid_t)COAP_DROPPED_RESPONSE; } data_len = pdu->used_size - (pdu->data - pdu->token);