mirror of https://github.com/mstorsjo/fdk-aac.git
Add sanity check in huff_decode()
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Bug: 119292397
Change-Id: I33e99629665df9aa6262c90dd7ebdde4b4b9d773
(cherry picked from commit b81f869de3
)
This commit is contained in:
parent
7a86a094a5
commit
18ac2d928d
|
@ -647,6 +647,10 @@ static ERROR_t huff_decode(HANDLE_FDK_BITSTREAM strm, SCHAR* out_data_1,
|
||||||
}
|
}
|
||||||
df_rest_flag_1 = num_val_1_int % 2;
|
df_rest_flag_1 = num_val_1_int % 2;
|
||||||
if (df_rest_flag_1) num_val_1_int -= 1;
|
if (df_rest_flag_1) num_val_1_int -= 1;
|
||||||
|
if (num_val_1_int < 0) {
|
||||||
|
err = HUFFDEC_NOTOK;
|
||||||
|
goto bail;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (out_data_2 != NULL) {
|
if (out_data_2 != NULL) {
|
||||||
if (diff_type_2 == DIFF_FREQ) {
|
if (diff_type_2 == DIFF_FREQ) {
|
||||||
|
@ -658,6 +662,10 @@ static ERROR_t huff_decode(HANDLE_FDK_BITSTREAM strm, SCHAR* out_data_1,
|
||||||
}
|
}
|
||||||
df_rest_flag_2 = num_val_2_int % 2;
|
df_rest_flag_2 = num_val_2_int % 2;
|
||||||
if (df_rest_flag_2) num_val_2_int -= 1;
|
if (df_rest_flag_2) num_val_2_int -= 1;
|
||||||
|
if (num_val_2_int < 0) {
|
||||||
|
err = HUFFDEC_NOTOK;
|
||||||
|
goto bail;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (out_data_1 != NULL) {
|
if (out_data_1 != NULL) {
|
||||||
|
|
Loading…
Reference in New Issue