From 4614567590b64b0ee827afa1a3d090868ffbcd3c Mon Sep 17 00:00:00 2001 From: ghidra1 Date: Wed, 22 May 2019 15:00:37 -0400 Subject: [PATCH] Corrected convertBytesToString with offset and length --- .../src/main/java/ghidra/util/NumericUtilities.java | 2 +- .../test/java/ghidra/util/NumericUtilitiesTest.java | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Ghidra/Framework/Generic/src/main/java/ghidra/util/NumericUtilities.java b/Ghidra/Framework/Generic/src/main/java/ghidra/util/NumericUtilities.java index d8467cfe0d..6a5a371ea0 100644 --- a/Ghidra/Framework/Generic/src/main/java/ghidra/util/NumericUtilities.java +++ b/Ghidra/Framework/Generic/src/main/java/ghidra/util/NumericUtilities.java @@ -670,7 +670,7 @@ public final class NumericUtilities { */ public static String convertBytesToString(byte[] bytes, int start, int len, String delimeter) { - Iterator iterator = IteratorUtils.arrayIterator(bytes, start, len); + Iterator iterator = IteratorUtils.arrayIterator(bytes, start, start + len); return convertBytesToString(iterator, delimeter); } diff --git a/Ghidra/Framework/Generic/src/test/java/ghidra/util/NumericUtilitiesTest.java b/Ghidra/Framework/Generic/src/test/java/ghidra/util/NumericUtilitiesTest.java index fbbf16207f..bb0bc19eac 100644 --- a/Ghidra/Framework/Generic/src/test/java/ghidra/util/NumericUtilitiesTest.java +++ b/Ghidra/Framework/Generic/src/test/java/ghidra/util/NumericUtilitiesTest.java @@ -15,7 +15,8 @@ */ package ghidra.util; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; import java.util.*; import java.util.stream.Collectors; @@ -95,6 +96,13 @@ public class NumericUtilitiesTest { assertEquals("012380ff00", str); } + @Test + public void testConvertBytesToStringWithOffsetAndLength() { + byte[] bytes = new byte[] { (byte) 0x1, (byte) 0x23, (byte) 0x80, (byte) 0xff, (byte) 0 }; + String str = NumericUtilities.convertBytesToString(bytes, 2, 2, " "); + assertEquals("80 ff", str); + } + @Test public void testConvertBytesToStringWithDelimiter() { byte[] bytes = new byte[] { (byte) 0x1, (byte) 0x23, (byte) 0x80, (byte) 0xff, (byte) 0 };