Revert "Revert "res_rtp_asterisk: Free payload when error on insertion to data buffer""

This reverts commit fe3dc091b5.

Reason for revert: This will be merged once 16.8-cert1 is released.

Change-Id: I5c29f96a70ed7e1fa146a69e7b48bfe31cbee929
changes/72/14372/2
Joshua Colp 6 years ago committed by Friendly Automation
parent 05671db0c3
commit 40d379f59e

@ -254,7 +254,7 @@ int ast_data_buffer_put(struct ast_data_buffer *buffer, size_t pos, void *payloa
AST_LIST_TRAVERSE_SAFE_END;
if (inserted == -1) {
return 0;
return -1;
}
if (!inserted) {

@ -4897,7 +4897,9 @@ static int rtp_raw_write(struct ast_rtp_instance *instance, struct ast_frame *fr
if (payload) {
payload->size = packet_len;
memcpy(payload->buf, rtpheader, packet_len);
ast_data_buffer_put(rtp->send_buffer, rtp->seqno, payload);
if (ast_data_buffer_put(rtp->send_buffer, rtp->seqno, payload) == -1) {
ast_free(payload);
}
}
}
@ -7847,7 +7849,9 @@ static struct ast_frame *ast_rtp_read(struct ast_rtp_instance *instance, int rtc
payload->size = res;
memcpy(payload->buf, rtpheader, res);
ast_data_buffer_put(rtp->recv_buffer, seqno, payload);
if (ast_data_buffer_put(rtp->recv_buffer, seqno, payload) == -1) {
ast_free(payload);
}
/* If this sequence number is removed that means we had a gap and this packet has filled it in
* some. Since it was part of the gap we will have already added any other missing sequence numbers

Loading…
Cancel
Save