Commit graph

36 commits

Author SHA1 Message Date
Ramesh Katuri
adf66776bd Fix for out of bound write memory access in xheaac am: 2491a07484
am: 3a3f02636d

Change-Id: I7a210a9fa6cd29f4ba2a51313d505f8b764a7ca8
2018-09-05 13:06:22 -07:00
TreeHugger Robot
b33fd4a962 Merge "Fix for crash in aac decode frame" 2018-09-05 01:38:10 +00:00
TreeHugger Robot
d7576e3382 Merge "Fix for crc related issues" 2018-09-05 01:31:25 +00:00
TreeHugger Robot
a9ebc71030 Merge "Fix stack-buffer-overflow in mps module" 2018-09-05 01:22:50 +00:00
TreeHugger Robot
9b7495bf5f Merge "Fix for segmentation fault in xaac decoder execute" 2018-09-04 23:37:34 +00:00
TreeHugger Robot
245cec9182 Merge "Fix for stack-buffer-underflow in sbr module" 2018-09-04 23:36:57 +00:00
Ramesh Katuri
e76a347107 Fix for stack-buffer-underflow in sbr module
Input stream contains program config element with
object type as AAC_SSR. Current xaac decoder doesn't
support this profile. There is an error check for
unsupported profiles,which is not handled properly,
because of which bit stream is parsed further and
wrong values are getting populated using unsupported
bit stream. These wrong value is causing stack buffer
underflow in sbr decoder.

Bug:112712154
Test: re-ran poc
Change-Id: Ia704a4abfb210cd7f6ccf9b0a0be630d86607966
2018-09-04 13:25:34 -07:00
Ramesh Katuri
7c86bb9485 Fix for segmentation fault in header initialization
This error stream contains two elements (CPE and CCE). Because
the stream is an erroneous for CCE at the time of initialization
number of channel is 1 and at the time of execution it is 2.

So code is modified to populate memory based on MAXIMUM CHANNELS
allowed for SBR

Bug:112711350
Test: poc
Change-Id: Ia4b75694ae29d025289d0f85123ce2b24f9c1022
2018-09-04 11:55:48 -07:00
Ramesh Katuri
0ba12cd042 Fix for segmentation fault in xaac decoder execute
Code was modified to handle both fatal and nonfatal errors.
Initially non fatal errors from general audio header decode
were ignored because of which there is segmentation fault
occurring while accessing channel info during execute call

Bug:112552509
Test: poc
Change-Id: I39bc9513ed9e408bc43d9e3746d221852f2aa4f9
2018-09-04 11:49:00 -07:00
Ramesh Katuri
55c1da8c37 Fix for crc related issues
Maximum crc registers allowed is 7. Crc registers are accessed
and updated inside the function ixheaacd_adts_crc_start_reg().
Check has been added before the function call so that if the
register value is less than 7 then only the function gets called.

Bug:112551726
Bug:112551874
Bug:112609715
Bug:112713720
Bug:112715795
Bug:113261928
Test: poc
Change-Id: I3935546b8fb3dc5c82bee16639df771349e6d2b6
2018-09-04 11:28:12 -07:00
Ramesh Katuri
ace5ddf259 Fix for crash in aac decode frame
This is an erroneous stream in which element is SCE and
channel config in general audio header is 2.

Added check the handle such erroneous cases

Bug:112705708
Test: re-ran poc
Change-Id: Ia1f057621ae954f6ae53027301cf6f1f6780011b
2018-09-04 11:00:08 -07:00
Ray Essick
34b8bb675e Fix stack-buffer-overflow in mps module
While parsing the input stream in mps_pre_matrix function,
there was an error.This error was not handled properly,
because of which further values which are read from bit stream
are getting wrong values.

We use these value in iteration in ixheaacd_mps_getstridemap()
which is causing stack-buffer-overflow

[this reconciles the full fix being added to P and that master already
had part of the fix as part of a separate bug]

Bug:112857941
Test: poc+ASAN
Change-Id: Ia94ff33f2caf5c8b44b9a85a8f0e6c0ddecc24b9
2018-08-31 10:12:43 -07:00
Ramesh Katuri
2491a07484 Fix for out of bound write memory access in xheaac
The maximum number of channels supported for usac profile in
libxaac decoder is two only.Input streams of the below reported
issues contain multi channel,because of multi channel the write
offset is incremented by greater 2, which causes out of bound
memory access while writing.

Bug:112858010
Bug:112859113
Test: re-run POC
Change-Id: Ide57cb8ee39d77d0f386298e899683d460a3c18b
2018-08-30 17:02:10 -07:00
Ramesh Katuri
cad0d07efc Fix for segementation fault in mps_apply function
Bug: 111050781

This fix has a depedency on fix provided for Bug: 110469747

Change-Id: I928c7de376eb806e38501c4c662567e29540f118
Test: poc from bug
2018-08-23 16:00:28 -07:00
TreeHugger Robot
76b7c186f2 Merge "Fix for stack corruption in esbr" into pi-dev 2018-08-09 19:20:45 +00:00
Ramesh Katuri
e43b180758 Fix for ubsan add-overflow
Bug: 110468609
Test: poc before/after
Change-Id: Ic8698c6b4eb20a1204488fc1bdd14def7fa1d171
(cherry picked from commit 9ccb84f227)
2018-07-27 22:23:11 +00:00
TreeHugger Robot
d191a180be Merge "Fix for segmentation fault in ixheaacd_sbr_dec_from_mps" 2018-07-13 20:31:22 +00:00
Ray Essick
a5c232f0d2 Merge changes I345fc5a4,I5495b01d,I4ca17f0c,I24b01b4a,I40f74385, ...
* changes:
  Fix for Segmentation fault in esbr co variance calcualtion
  Fix for Segmentation fault in ixheaacd_sbr_dec_from_mps
  Fix for segmentation fault in ixheaacd_dec_envelope
  Fix for sanitizer multiplication overflow error
  Fix for Segmentation fault in ixheaacd_mps_apply_pre_matrix
  Fix for ubsan add-overflow
  Fix for sub-overflow in aarch64 binary
  Fix memory leak in XAAC
2018-07-13 18:27:40 +00:00
Ray Essick
d73533ed86 Merge "Changes based on review comments" 2018-07-13 18:24:54 +00:00
Ramesh Katuri
5464927f0c Fix for stack corruption in esbr
Bug: 110769924
Test: poc from bug before/after
Change-Id: I99c6e89902064849ea1310c271064bdeccf7f20e
(cherry picked from commit 7e90d745c2)
2018-07-12 23:36:28 +00:00
Ramesh Katuri
7e90d745c2 Fix for stack corruption in esbr
Bug: 110769924
Test: poc from bug before/after
Change-Id: I99c6e89902064849ea1310c271064bdeccf7f20e
2018-07-10 16:55:00 -07:00
Ramesh Katuri
ffaed483f8 Fix for segmentation fault in ixheaacd_sbr_dec_from_mps
Bug: 110469747
Test: re-run poc
Change-Id: I576c06a1f3fa16d2818a2f2a2190ae382f38c5e3
2018-07-03 15:00:30 -07:00
Ramesh Katuri
ed94c80fe8 Fix for Segmentation fault in esbr co variance calcualtion
Bug: 110770874
Test: re-run poc
Change-Id: I345fc5a410a95e2b313c6c5b773c3a68733d6bd7
2018-07-03 14:26:48 -07:00
Ramesh Katuri
70396d6ced Fix for Segmentation fault in ixheaacd_sbr_dec_from_mps
Bug: 110629822
Test: re-run poc
Change-Id: I5495b01d5d0c779185ff04eb8f1c048f353396b2
2018-07-03 14:18:07 -07:00
Ramesh Katuri
ed84995ea7 Fix for segmentation fault in ixheaacd_dec_envelope
Bug: 110617740
Test: rerun poc
Change-Id: I4ca17f0c3e350c8020d2eecfb1519980c7cdff6f
2018-07-03 14:07:15 -07:00
Ramesh Katuri
8cacf1f5bc Fix for sanitizer multiplication overflow error
Bug: 110596152
Test: re-run POC
Change-Id: I24b01b4ab13987abd028f013262f732cd06e81f8
2018-07-03 13:57:13 -07:00
Ramesh Katuri
8ca0eedc54 Fix for Segmentation fault in ixheaacd_mps_apply_pre_matrix
Bug: 110649314
Test: run poc
Change-Id: I40f74385499064c0e982608181d98e9e577df84c
2018-07-03 13:45:37 -07:00
Ramesh Katuri
9ccb84f227 Fix for ubsan add-overflow
Bug: 110468609
Test: poc before/after
Change-Id: Ic8698c6b4eb20a1204488fc1bdd14def7fa1d171
2018-07-03 13:30:00 -07:00
Ramesh Katuri
b9c0352dce Fix for sub-overflow in aarch64 binary
Bug: 110471303
Test: poc
Change-Id: Ic9933bc5151d77358fcc3662ece04f58781c0a97
2018-07-03 12:26:44 -07:00
Ray Essick
1f49d8004a Fix memory leak in XAAC
also restructures the code so it uses a local variable rather than
allocating on the heap.

Bug: 77287124
Test: CTS DecoderTest
Change-Id: I408caf29e163068d1338c480501f03348af888a5
2018-07-03 11:21:59 -07:00
Harish Mahendrakar
dca80eae32 Changes based on review comments
Test: CTS android.media.cts.DecoderTest

Formatting changes in test folder

Bug: 80493357
Change-Id: Iaa9521521b2278b78ba789d026360a8b2eb9b54c

Changes based on the received review comments

Bug: 109679313
Change-Id: I9cd35ab4fb131f12a8970e772f464d44519496b9
2018-07-03 11:21:47 -07:00
Ramesh Katuri
b3226ce6f8 Formatting changes
Formatting .c and .h files using clang-format
Formatting .s files

Bug: 80493357
Test: compare object sizes
Change-Id: I38296083c9d2d566a6a2564db2e391e4b2bd43a9
2018-06-07 16:52:19 -07:00
Harish Mahendrakar
8eb646f89b Collected Cleanups from Ittiam
Test: CTS android.media.cts.DecoderTest{AacDrc,XheAac}

Added __ARM_NEON__ check to generic function selector

Bug: 80432407
Change-Id: I66c7879fda1369da88ccaea5f8792ea54657cdaf

Added support to build for mips

Bug: 80432286
Change-Id: I908029bbaddd3c1fbc39be1192926b56d981576e

Add optimized versions for qmf_dec for armv7 and armv8

Separating common functions and platform specific functions
in ixheaacd_qmf_dec.c. Platform specific functions are moved
to qmf_dec in armv7, armv8 and generic folder.

Bug: 80431870
Change-Id: I860cb79a1870e228d2108b7915418e1c003cefc5

Fixes for crashes reported by Fuzzer tool

Bug: 109697676
Change-Id: I862fc054b99ee9d427d20596bc8d2e85522a7188
2018-06-05 13:04:22 -07:00
Ramesh Katuri
36ef96da45 Fix to resolve CTS test case testDecodeUsacDrcEffectTypeM4a
Bug: 80133175
Test: CTS android.metia.cts.DecoderTestXheAac
Change-Id: Ic1962238eabe4ad98e4fa0ea85acc5494e762d30
2018-06-01 09:56:14 -07:00
Ray Essick
4908247643 Sanitization fixes from new CTS tests
Updates from vendor to remedy issues exposed by new CTS tests

Bug: 77287124
Test: CTS DecoderTest, DecoderTest{AacDrc,XheAac}

@ Sanitizer fixes in libxaac

Fixes few integer overflow sanitizer errors
Progagate few errors
ENABLE_DRC macro is removed
AMMENDMENT1 macro is removed

Change-Id: Ic61163dfd6318bd4a00ed45e1295c819cb0f637b

@ Add support for audio pre-roll and DRC effect type

Also includes the following
MPEG-D DRC parameters related changes
USAC config switch changes
SBR config switch changes

Bug: 80133175
Change-Id: I0ab25641768cf523b66f7b0fcb4137429c1c4a77

@ Fixed trailing spaces

Change-Id: I32de0c9d3f7237e1fbf8dfef1cac485ef8458173

@ Replaced tabs

Change-Id: Ic741ee13d7b978b37edc27d087903caaa40b8d90
2018-05-25 11:35:52 -07:00
Ray Essick
51aa06e124 Bring xHE-AAC into pi-dev branch
bring the multi-commit integration from master to pi-dev

libxaac multi-arch cleanup

Change-Id: Ibcefa14f439e75f48a54955c9abf1a06c418e41e
Change-Id: Ia7a9b1e4de0add847c136f6f545b81dc8087521d
Change-Id: I12c3f8414dc9971017de223e88f292f8982a5c9b

Fix dependency error in Android.bp
Change-Id: Ic54f688736b3f2a70172676e4cee22aea4cbd705

Localized Android.bp
Change-Id: I68c4fc24fca279104c8ce2129fd4a3ed8d116b9b

Import xHE-AAC decoder from Ittiam
Change-Id: I3c8d124033f967b29d6e384cce5c843ee17a7bb1

Bug: 77287124
Test: build, cts DecoderTest
2018-05-17 14:36:48 -07:00