CTS cases fail due to NE in SVOX TTS library
Failed CTS cases:
We can also reproduce this NE by following steps:
1. Go to Accessibility Settings
2. Select Text to speech output
3. Click play
Exception occurs due to calculation of
picokpr_getAttrValArrInt32(...) is incorrect. The logic here
intends to clear the MSB and return the rest of the bits. We
found if library compiled in Android N environment the result
of comparison operation is different from library compiled in
Android O environment. In Android O, actual returne value doesn't
process the value and returns as it is. This causes invalid
pointer access and hence native exception due to segmentation fault.
Solution: Changed to use bitwise shift instead.
Test: After applying this patch, CTS cases can pass and exception
can be fixed.
1 file changed