Attention is currently required from: dexter.
1 comment:
File src/common/l1sap.c:
Patch Set #4, Line 1955: /* Since we already verified the payload in rtppayload_validate_hr(), we may trust that the payload length is
I meant something like this (assuming no weird lengths like len=0 are to be received here):
```
switch (rtp_pl_len) {
case GSM_HR_BYTES_RTP_TS101318:
/* Convert from TS 101 318 to RFC 5993 */
if (OSMO_UNLIKELY(!ts101318 && rfc5993)) {
msg = l1sap_msgb_alloc(rtp_pl_len + 1);
if (!msg)
return NULL;
msgb_put_u8(msg, 0x00);
memcpy(msgb_put(msg, rtp_pl_len), rtp_pl, rtp_pl_len);
return msg;
}
break;
case GSM_HR_BYTES_RTP_RFC5993:
/* Convert from RFC 5993 TS 101 318 */
if (OSMO_UNLIKELY(!rfc5993 && ts101318)) {
msg = l1sap_msgb_alloc(rtp_pl_len - 1);
if (!msg)
return NULL;
memcpy(msgb_put(msg, rtp_pl_len - 1), rtp_pl + 1, rtp_pl_len - 1);
return msg;
}
break;
default:
OSMO_ASSERT(0);
}
/* No conversion needed since the RTP payload is already in a supported format */
msg = l1sap_msgb_alloc(rtp_pl_len);
if (!msg)
return NULL;
memcpy(msgb_put(msg, rtp_pl_len), rtp_pl, rtp_pl_len);
```
To view, visit change 32630. To unsubscribe, or for help writing mail filters, visit settings.