libxaac/decoder/ixheaacd_rvlc.h
Ramesh Katuri b25f096d7b Fix for heap buffer overflow in huff code reorder
For this stream, input size is very high that causes
huffman decoding to access beyond bit-buffer pointer
end limit due to no OOB access check. As a fix,added
this check in the bit read functionality.

Bug:112611181
Bug:113508101
Test: poc before/after
Change-Id: I4b7cc9624a388e8a20c7d4b11998dfed9c90d3f6
2018-09-18 13:05:13 -07:00

21 lines
903 B
C

#ifndef IXHEAACD_RVLC_H
#define IXHEAACD_RVLC_H
void ixheaacd_rvlc_read(
ia_bit_buf_struct *itt_bit_buff,
ia_aac_dec_channel_info_struct *ptr_aac_dec_channel_info);
IA_ERRORCODE ixheaacd_rvlc_dec(
ia_aac_dec_channel_info_struct *ptr_aac_dec_channel_info,
ia_aac_dec_overlap_info *ptr_aac_dec_static_channel_info,
ia_bit_buf_struct *itt_bit_buff);
void ixheaacd_hcr_read(ia_bit_buf_struct *itt_bit_buff,
ia_aac_dec_channel_info_struct *ptr_aac_dec_channel_info,
WORD32 ele_type);
void ixheaacd_carry_bit_branch_val(UWORD8 carry_bit, UWORD32 tree_node,
UWORD32 *branch_val, UWORD32 *branch_node);
VOID ixheaacd_huff_sfb_table(WORD32 it_bit_buff, WORD16 *huff_index,
WORD32 *len, const UWORD16 *code_book_tbl,
const UWORD32 *idx_table);
#endif