diff options
author | Marcus Oakland <marcus.oakland@arm.com> | 2014-02-17 08:28:25 +0000 |
---|---|---|
committer | Ashok Bhat <ashok.bhat@arm.com> | 2014-02-26 16:53:52 +0000 |
commit | 1f797f960412b5a50bf8e92a0c8b460f30e947d7 (patch) | |
tree | 1d53e27a031db01729d13b66b0c04cbcfdf662e0 /media/libeffects | |
parent | 8fc4d57d41f532b90187b9404a8ac705770d75b4 (diff) | |
download | frameworks_av-1f797f960412b5a50bf8e92a0c8b460f30e947d7.zip frameworks_av-1f797f960412b5a50bf8e92a0c8b460f30e947d7.tar.gz frameworks_av-1f797f960412b5a50bf8e92a0c8b460f30e947d7.tar.bz2 |
AArch64: Correction for LP64
In the Intra16x16PlanePrediction function, a u32 (unsigned 32-bit
integer) was being used for the "i" variable, and being used with a
value of 7 in the loop "for (i = 0, b = 0; i < 8; i++)" to access the
"above[6-i]" location where "above" is defined as "u8 *". Because "i"
was unsigned there was no sign extension on use with the __LP64__
64-bit pointer, so rather than 0xFFFFFFFF being treated as -1, it was
treated as 4,292,967,295 and that resulted in a SIGSEGV at an invalid
address. By changing the type of "i" to an i32 (signed 32-bit integer)
the expected sign extension occurs and the value is treated as -1.
This change fixes android.media.cts.DecoderTest#testCodeBasicH264 on
64-bit platforms
Change-Id: I85df58b0dc1d39f89ab421d04ab5481356520f0c
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Diffstat (limited to 'media/libeffects')
0 files changed, 0 insertions, 0 deletions