Significance:
--------------
- Fixes all the the warnings observed for libxaac decoder library when compiled with clang-16 (x86_64).
- Adjusts the conditional check to validate the 4:1 system's SBR range start frequency border.
Testing:
---------
- All previous fuzzer crashes are tested. No crash observed.
- CTS and Conformance for x86, x86_64, armv7 and armv8 are passing.
Significance:
--------------
- Possibility of accessing uninitialized access to structure members of a local scratch structure uncovered with fuzzer testing.
- The changes in this commit handle such cases.
Bug: ossFuzz:68464
Test: poc in bug
These changes fix the Use-of-uninitialized-value in ixheaacd_aacdec_decodeframe runtime error
caused due to uninitialized structure members of aac scratch structure.
Bug: ossFuzz:68464
Test: poc in bug
These changes fix the Heap-buffer-overflow in Codec__decodeXAACStream runtime error
caused due to unsupported frame length type configuration for LATM streams.
Bug: ossFuzz:67767
Test: poc in bug
Significance:
========
[x] Aligned buffer access for scratch memory and scratch memory optimization.
Testing:
=====
[x] MSVS Conformance and CTS are passing.
[x] All previous fuzzer crashes are tested. No crash observed.
[x] For platforms, Conformance tested with different combinations.
[x] Tested Conformance with gcc builds for x86, x86_64, armv7 and armv8.
[x] Tested Conformance with clang builds with address and memory sanitizer flags for x86_64 and armv8.
These changes handle the divide-by-zero runtime error reported
while calculating the inverse of difference between consecutive
parameter time slot.
Bug: ossFuzz:65191
Test: poc in bug
These changes handle the Heap-buffer-overflow WRITE 8 runtime error reported
due to unsupported channel configuration for USAC.
Bug: ossFuzz:64960
Test: poc in bug
These changes handle the index-out-of-bounds runtime error reported
when the value of arbitrary downmix residual bands is greater than or equal
to the number of parameter bands.
Bug: ossFuzz:63564
Test: poc in bug
These changes handle the divide-by-zero runtime error reported
while calculating the downmix coefficients because
base channel count was coming zero.
Bug: ossFuzz:63420
Test: poc in bug
These changes handle the nested bug in the same thread, aborting issue
reported by disabling some code checks which are related to EC.
Bug: ossFuzz:62003
Test: poc in bug
* Fix for divide-by-zero in ixheaacd_sbr_env_calc
These changes handle the divide-by-zero runtime error reported
while calculating the energy because the consecutive frequency bands
were coming same.
Bug: ossFuzz:63038
Test: poc in bug
* Fix for divide-by-zero in ixheaacd_calc_stop_band
These changes handle the divide-by-zero runtime error reported
because sampling frequency comes out to be zero.
Bug: ossFuzz:63138
Test: poc in bug
These changes handle the divide-by-zero runtime error reported
while calculating the energy because the start sample and end sample
were coming same.
Bug: ossFuzz:62766
Test: poc in bug
These changes handle the index-out-of-bounds runtime error
reported when the value of residual sampling frequency index
is greater than max residual sampling frequency index.
Bug: ossFuzz:62707
Test: poc in bug
These changes handle the divide-by-zero runtime error
reported while calculating the border vector value because
the value read from bitstream was coming greater the expected value.
Bug: ossFuzz:62633
Test: poc in bug
These changes handle the Divide-by-zero runtime error reported
while calculating the energy estimation because the
consecutive border vectors were coming same.
Bug: ossFuzz:62282
Test: poc in bug
These changes handle the Undefined-shift runtime error reported
because the value of shift was coming greater than maximum expected value.
Bug: ossFuzz:62328
Test: poc in bug
These changes handle the Undefined-shift runtime error reported
because the value of shift was coming greater than maximum expected value.
Bug: ossFuzz:62339
Test: poc in bug
These changes handle the Undefined shift runtime error reported
when bit position in huffman codeword reordering operation becomes
negative.
Bug: ossFuzz:62408
Test: poc in bug
These changes handle Index-out-of_bound runtime error
reported when the value of param bands is greater
than max param bands. This is resolved by adding
condition check to see if the value is greater than supported value.
Bug: ossFuzz:62274
Test: poc in bug
These changes handle the Undefined-shift runtime error
reported because the value of shift was coming greater than
maximum expected value.
Bug: ossFuzz:61705
Test: poc in bug
These changes handle the runtime error reported because
the value of bit position was greater than maximum
expected value.
Bug: ossFuzz:62133
Test: poc in bug
This changes handle the Divide-by-zero runtime error
reported while calculating the gain because
imaginary and real data were zero.
Bug: ossFuzz:61788
Test: poc in bug
These changes handle the Undefined-shift runtime error
reported because the value of scale exponent was coming
less than -31.
Bug: ossFuzz:61684
Test: poc in bug
These changes handle the Undefined-shift runtime error
reported because the value of shift was coming
greater than 31.
Bug: ossFuzz:61678
Test: poc in bug
These changes handle the Undefined-shift runtime error
reported because the value of read word was being shifted
by a value greater than 31.
Bug: ossFuzz:61676, 61679
Test: poc in bug
These changes handle the Undefined-shift
runtime error reported because value of Q factor
calculated was negative when denominator is zero in division operation.
Bug: ossFuzz:61986
Test: poc in bug
These changes handle the Divide-by-zero runtime error
reported while calculating the energy with two consecutive
border values equal.
Bug: ossFuzz:61696
Test: poc in bug
These changes handle the Undefined-shift
runtime error reported because value of Q factor
calculated was negative when denominator is zero in division operation.
Bug: ossFuzz:61698
Test: poc in bug
These changes handle the Global-buffer-overflow
runtime error reported because tns data filter was getting initialised
inappropriately and was returning an error which was not propagated up.
Bug: ossFuzz:61816
Test: poc in bug
These changes handle the Index-out-of-bounds
runtime error reported when there is invalid access for some buffers.
It is prevented by propagating error appropriately.
Bug: ossFuzz:61789
Test: poc in bug
These changes handle the Use-of-uninitialized-value
runtime error reported because local buffer was not initialized
in complex analysis QMF filter block leading to uninitialized access.
Bug: ossFuzz:61691
Test: poc in bug