diff --git a/common/unsafe/src/main/java/org/apache/spark/unsafe/types/UTF8String.java b/common/unsafe/src/main/java/org/apache/spark/unsafe/types/UTF8String.java index c9256b0a8f33c..f8d7041933907 100644 --- a/common/unsafe/src/main/java/org/apache/spark/unsafe/types/UTF8String.java +++ b/common/unsafe/src/main/java/org/apache/spark/unsafe/types/UTF8String.java @@ -703,6 +703,9 @@ public boolean contains(final UTF8String substring) { * Returns the byte at (byte) position `byteIndex`. If byte index is invalid, returns 0. */ public byte getByte(int byteIndex) { + if (byteIndex < 0 || byteIndex >= numBytes) { + return 0; + } return Platform.getByte(base, offset + byteIndex); }