From d142df535d42b6927bcdb864d64fb5ef439da94e Mon Sep 17 00:00:00 2001 From: Kenny Root Date: Wed, 17 Feb 2010 10:16:15 -0800 Subject: [PATCH] Prevent sign extension in IccUtils.parseToRGB When a signed byte value is taken from an array, make sure to truncate it so it doesn't have a problem when it's sign extended to 32-bit. Change-Id: Ic2b35c317e21c63dff960501145a4f3074b687ad --- telephony/java/com/android/internal/telephony/IccUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/telephony/java/com/android/internal/telephony/IccUtils.java b/telephony/java/com/android/internal/telephony/IccUtils.java index 3e7094e606cb8..71936f15936da 100644 --- a/telephony/java/com/android/internal/telephony/IccUtils.java +++ b/telephony/java/com/android/internal/telephony/IccUtils.java @@ -397,7 +397,7 @@ public class IccUtils { int bits = data[valueIndex++] & 0xFF; int colorNumber = data[valueIndex++] & 0xFF; int clutOffset = ((data[valueIndex++] & 0xFF) << 8) - | data[valueIndex++]; + | (data[valueIndex++] & 0xFF); length = length - 6; int[] colorIndexArray = getCLUT(data, clutOffset, colorNumber);