commit | 89a3d233da8c7166e64afe4249130ceda670339c | [log] [tgz] |
---|---|---|
author | Marco Nelissen <marcone@google.com> | Tue Jan 05 11:24:52 2016 -0800 |
committer | Marco Nelissen <marcone@google.com> | Tue Jan 05 11:59:52 2016 -0800 |
tree | dd3ec4d8b567cd937bb81d4f49e4c924ac6ccb4c | |
parent | 9f6cffe4ffbbe354187c241f3a7b14ae7c252726 [diff] |
Fix more potential (benign) AMRWB overflows Bug: 25843966 Change-Id: I18003aa20be1ff0a93473ecd8b4995861bed8c89
diff --git a/media/libstagefright/codecs/amrwbenc/inc/basic_op.h b/media/libstagefright/codecs/amrwbenc/inc/basic_op.h index 4021579..5808437 100644 --- a/media/libstagefright/codecs/amrwbenc/inc/basic_op.h +++ b/media/libstagefright/codecs/amrwbenc/inc/basic_op.h
@@ -608,6 +608,7 @@ |___________________________________________________________________________| */ +__attribute__((no_sanitize("integer"))) static_vo Word32 L_sub (Word32 L_var1, Word32 L_var2) { Word32 L_var_out;
diff --git a/media/libstagefright/codecs/amrwbenc/src/updt_tar.c b/media/libstagefright/codecs/amrwbenc/src/updt_tar.c index f312ca3..ba7c2ff 100644 --- a/media/libstagefright/codecs/amrwbenc/src/updt_tar.c +++ b/media/libstagefright/codecs/amrwbenc/src/updt_tar.c
@@ -33,12 +33,13 @@ ) { Word32 i; - Word32 L_tmp; + Word32 L_tmp, L_tmp2; for (i = 0; i < L; i++) { L_tmp = x[i] << 15; - L_tmp -= (y[i] * gain)<<1; + L_tmp2 = L_mult(y[i], gain); + L_tmp = L_sub(L_tmp, L_tmp2); x2[i] = extract_h(L_shl2(L_tmp, 1)); }