aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Essick <essick@google.com>2020-09-30 16:54:42 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2020-09-30 16:54:42 +0000
commite5c5475c98b9ee6f2f6160fab78e2f6cca5640b9 (patch)
treedd8dacfed8a460716cbf9891a3f5ce289666f06a
parentbf603c488f93a8ef9228f745be00a5dcb348364f (diff)
parentf2d380ca2e8a256236744eb29082f1955b79da9c (diff)
downloadlibxaac-e5c5475c98b9ee6f2f6160fab78e2f6cca5640b9.tar.gz
Merge "Fix to handle segv in impd_filter_banks_process"
-rw-r--r--decoder/drc_src/impd_drc_dynamic_payload.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/decoder/drc_src/impd_drc_dynamic_payload.c b/decoder/drc_src/impd_drc_dynamic_payload.c
index a8a15a9..f8a1aa9 100644
--- a/decoder/drc_src/impd_drc_dynamic_payload.c
+++ b/decoder/drc_src/impd_drc_dynamic_payload.c
@@ -231,6 +231,8 @@ WORD32 impd_dec_times(ia_bit_buf_struct* it_bit_buff,
}
}
node_time_tmp = time_offs + time_delta * delta_tmin;
+ if (node_time_tmp >= (2 * AUDIO_CODEC_FRAME_SIZE_MAX - drc_frame_size))
+ return UNEXPECTED_ERROR;
if (node_time_tmp > drc_frame_size + time_offset) {
if (node_res_flag == 0) {
str_node[k].time = drc_frame_size + time_offset;