Skip to content

Commit 9efce02

Browse files
bjfishthurka
authored andcommitted
Add end index to details string implementation for Ruby SubstringRope
1 parent bd9bf46 commit 9efce02

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

visualvm/heapviewer.truffle/src/org/graalvm/visualvm/heapviewer/truffle/lang/ruby/RubyDetailsProvider.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,8 +108,11 @@ public String getDetailsString(String className, Instance instance, Heap heap) {
108108
}
109109
byteOffset = ((Integer) offset).intValue();
110110

111-
if (childString.length() > byteOffset) {
112-
return childString.substring(byteOffset);
111+
Object length = instance.getValueOfField("byteLength");
112+
int byteLength = ((Integer) length).intValue();
113+
114+
if (childString.length() > byteOffset && childString.length() >= byteOffset + byteLength) {
115+
return childString.substring(byteOffset, byteOffset + byteLength);
113116
}
114117
}
115118
if (ENCODING_MASK.equals(className)) {

0 commit comments

Comments
 (0)