commit | a409128a7238b7b7a2b38f8b3732ca8905b89c71 | [log] [tgz] |
---|---|---|
author | Kenny Root <kroot@google.com> | Wed Feb 17 10:21:11 2010 -0800 |
committer | Kenny Root <kroot@google.com> | Wed Feb 17 10:21:11 2010 -0800 |
tree | 9cc2b572cf3a7312f4abe9bf521506db35096cc7 | |
parent | a4437fc93a993c7ab326b592d22c05be2f11b543 [diff] |
Prevent sign extension in UsimPhoneBookManager When performing a logical OR on a byte value, make sure to truncate its value to prevent possible sign extension when it is converted to 32-bit. Change-Id: I7bdfded32cec3e8a5f6b5c45316b2af5ab9471d1
diff --git a/telephony/java/com/android/internal/telephony/gsm/UsimPhoneBookManager.java b/telephony/java/com/android/internal/telephony/gsm/UsimPhoneBookManager.java index 9caae3d..41e527ce 100644 --- a/telephony/java/com/android/internal/telephony/gsm/UsimPhoneBookManager.java +++ b/telephony/java/com/android/internal/telephony/gsm/UsimPhoneBookManager.java
@@ -409,7 +409,7 @@ case USIM_EFIAP_TAG: case USIM_EFSNE_TAG: data = tlv.getData(); - int efid = data[0] << 8 | data[1]; + int efid = ((data[0] & 0xFF) << 8) | (data[1] & 0xFF); val.put(tag, efid); break; }