diff --git a/java/com/google/re2j/MachineInput.java b/java/com/google/re2j/MachineInput.java index f69ba043..ff336702 100644 --- a/java/com/google/re2j/MachineInput.java +++ b/java/com/google/re2j/MachineInput.java @@ -144,7 +144,7 @@ int context(int pos) { int r1 = -1; if (pos > this.start && pos <= this.end) { int start = pos - 1; - r1 = b[start--]; + r1 = b[start--] & 0xFF; // convert to unsigned byte if (r1 >= 0x80) { // decode UTF-8 // Find start, up to 4 bytes earlier. int lim = pos - 4;