diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmSmsCbMessage.java b/telephony/java/com/android/internal/telephony/gsm/GsmSmsCbMessage.java index c3d490a6d5cfa..c15a8004b18cd 100644 --- a/telephony/java/com/android/internal/telephony/gsm/GsmSmsCbMessage.java +++ b/telephony/java/com/android/internal/telephony/gsm/GsmSmsCbMessage.java @@ -215,7 +215,7 @@ public class GsmSmsCbMessage { private static Pair> parseWarningAreaCoordinates( byte[] pdu, int wacOffset) { // little-endian - int wacDataLength = (pdu[wacOffset + 1] << 8) | pdu[wacOffset]; + int wacDataLength = ((pdu[wacOffset + 1] & 0xff) << 8) | (pdu[wacOffset] & 0xff); int offset = wacOffset + 2; if (offset + wacDataLength > pdu.length) {