diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2022-12-21 18:20:32 +0100 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2022-12-21 21:35:06 +0100 |
commit | c0691ad3fd8b7a298ebec9abce650172443bf331 (patch) | |
tree | 2d453e96f4b66ba0be8b74d9aaec2a590dad0e69 | |
parent | 16d9d5dba80bb7b33bbb979ebad16e7d0108c311 (diff) |
amr: osmo_amr_bwe_to_oa(): validate input data is long enough
Change-Id: I2d11ce71c29ae046c2feab1e59045d97dc3e5099
-rw-r--r-- | src/amr.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -221,6 +221,8 @@ int osmo_amr_bwe_to_oa(uint8_t *payload, unsigned int payload_len, ft = (bwe_hdr->ft_hi << 1) | bwe_hdr->ft_lo; if (!osmo_amr_ft_valid(ft)) return -1; + if (OSMO_BYTES_FOR_BITS(AMR_HDR_BWE_LEN_BITS + osmo_amr_bits(ft)) > payload_len) + return -1; memset(buf, 0, sizeof(buf)); oa_hdr = (struct amr_hdr *)buf; |