aboutsummaryrefslogtreecommitdiff
path: root/decoder/ixheaacd_rvlc.h
diff options
context:
space:
mode:
authorRamesh Katuri <ramesh.katuri@ittiam.com>2018-09-07 11:28:47 +0530
committerRay Essick <essick@google.com>2018-09-12 13:35:01 -0700
commit2d55c27aeddfbf0b7d3ed79a9c3cc0c1796eb6ee (patch)
treeb2c3be725731c5d227544214cd6487827294fbb5 /decoder/ixheaacd_rvlc.h
parentd12d78c4aff781975d7b1840665321aa117a51a9 (diff)
downloadlibxaac-2d55c27aeddfbf0b7d3ed79a9c3cc0c1796eb6ee.tar.gz
Fix for heap buffer overflow in aac showbit_32 function
Subtraction overflow was obseerved in the process window sequence function which was fixed by adding saturation check after subtraction. Bits available in rvlc decode function is becoming negative. A check has been added before reading bits from input buffer. Bug:113262406 Test: poc with ASAN Change-Id: I729420c9df163b9c8cf474e884c8b6d137781855
Diffstat (limited to 'decoder/ixheaacd_rvlc.h')
-rw-r--r--decoder/ixheaacd_rvlc.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/decoder/ixheaacd_rvlc.h b/decoder/ixheaacd_rvlc.h
index a7a12e4..7962728 100644
--- a/decoder/ixheaacd_rvlc.h
+++ b/decoder/ixheaacd_rvlc.h
@@ -3,9 +3,10 @@
void ixheaacd_rvlc_read(
ia_bit_buf_struct *itt_bit_buff,
ia_aac_dec_channel_info_struct *ptr_aac_dec_channel_info);
-void 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);
+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);