Commit graph

64 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
Ramesh Katuri
3a3f02636d Fix for out of bound write memory access in xheaac
am: 2491a07484

Change-Id: I9f2f47d72cbc9a4271adb152164f3ea72b634f59
2018-09-05 12:45:06 -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
Xin Li
7e5fcd3969 Merge stage-dr1-aosp-master into stage-aosp-master am: aa6322d6dc
am: 1020986a16

Change-Id: I4649da171d44a03ed195b80db63da3c1c80dc012
2018-08-13 18:18:14 -07:00
Xin Li
1020986a16 Merge stage-dr1-aosp-master into stage-aosp-master
am: aa6322d6dc

Change-Id: I5722efc6c784521b06d3c7a25ec1f2cc414216c6
2018-08-13 17:16:06 -07:00
Xin Li
aa6322d6dc Merge stage-dr1-aosp-master into stage-aosp-master
Bug: 112535855
Change-Id: Ic54be61f0717a2021a9d6e3d001b49846c2a1ad0
2018-08-13 13:01:05 -07:00
Ramesh Katuri
a3324948a9 Merge "Fix for stack corruption in esbr" into pi-dev am: 76b7c186f2
am: 2538f3d948

Change-Id: I1eac2771ff208a17e49fd8e591da957b0641220c
2018-08-09 12:35:31 -07:00
Ramesh Katuri
2538f3d948 Merge "Fix for stack corruption in esbr" into pi-dev
am: 76b7c186f2

Change-Id: I6a71c6066128548c0bbbb25c0efeb67dcc3cc661
2018-08-09 12:26:32 -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
e2c8036784 Fix for ubsan add-overflow am: e43b180758
am: 4a30df7ff7

Change-Id: I7eb2aba23dcde7388f0aafc2ca8d9864460140ab
2018-08-09 09:55:49 -07:00
Ramesh Katuri
4a30df7ff7 Fix for ubsan add-overflow
am: e43b180758

Change-Id: Id333dd54164fa97382c7887431b1e7462174d877
2018-08-09 09:40:23 -07: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
Xin Li
c0114157ee Merge pi-dev-plus-aosp-without-vendor into stage-dr1-aosp-master am: 549e43aae4
am: 87f10d0c39

Change-Id: I96dad1db8949215874053b07cf84ea3a1af5193d
2018-07-20 01:18:53 -07:00
Xin Li
87f10d0c39 Merge pi-dev-plus-aosp-without-vendor into stage-dr1-aosp-master
am: 549e43aae4

Change-Id: Ic723844d958a24cb0ae2ededa74d059900ec2750
2018-07-19 23:24:37 -07:00
Xin Li
549e43aae4 Merge pi-dev-plus-aosp-without-vendor into stage-dr1-aosp-master
Bug: 111615259
Change-Id: If407e7d82c634a1fc500ab06a9a4c93ef7b2a3c2
2018-07-19 13:50:12 -07: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
c629815073 Formatting changes am: b3226ce6f8
am: dfdabaf9eb

Change-Id: If7386d1ca383bb73a5fb85cee87e737c9333ac7d
2018-06-08 09:40:03 -07:00
Ramesh Katuri
dfdabaf9eb Formatting changes
am: b3226ce6f8

Change-Id: I6c76e505a44f1dba20bc8ae06e4cbece1c4efae2
2018-06-08 09:21:56 -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
630df00be7 Collected Cleanups from Ittiam am: 8eb646f89b
am: 201db81729

Change-Id: Icfd77f093ea3a0ca0d49cff5587f27c79cca3538
2018-06-06 20:44:23 -07:00
Harish Mahendrakar
201db81729 Collected Cleanups from Ittiam
am: 8eb646f89b

Change-Id: Ida8f5199d79ef690864812ac3649ba640f585b3a
2018-06-06 18:33:06 -07:00
Ramesh Katuri
ff40cdbfb4 Fix to resolve CTS test case testDecodeUsacDrcEffectTypeM4a am: 36ef96da45
am: c503e2aab9

Change-Id: Ie33b3b7778b4510508e998e3d8f3641a6b160bed
2018-06-05 19:24:14 -07:00
Ramesh Katuri
c503e2aab9 Fix to resolve CTS test case testDecodeUsacDrcEffectTypeM4a
am: 36ef96da45

Change-Id: I7f7198204d43a640cbb09a161be5fdc32829a9f9
2018-06-05 18:22:18 -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