From 203854966d44a9d6476fd71aef76de9d84f7e7e6 Mon Sep 17 00:00:00 2001 From: ghidragon <106987263+ghidragon@users.noreply.github.com> Date: Tue, 15 Apr 2025 16:43:40 -0400 Subject: [PATCH] GP-5597 fixed bug where memory search title with control chars breaks saving tools. --- .../features/base/memsearch/format/StringSearchFormat.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Ghidra/Features/Base/src/main/java/ghidra/features/base/memsearch/format/StringSearchFormat.java b/Ghidra/Features/Base/src/main/java/ghidra/features/base/memsearch/format/StringSearchFormat.java index 2f653af8da..af246248cd 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/features/base/memsearch/format/StringSearchFormat.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/features/base/memsearch/format/StringSearchFormat.java @@ -48,12 +48,12 @@ class StringSearchFormat extends SearchFormat { if (charset == StandardCharsets.UTF_16) { charset = isBigEndian ? StandardCharsets.UTF_16BE : StandardCharsets.UTF_16LE; } - // Escape sequences in the "input" are 2 Characters long. + String converted = input; if (settings.useEscapeSequences() && inputLength >= 2) { - input = StringUtilities.convertEscapeSequences(input); + converted = StringUtilities.convertEscapeSequences(input); } - byte[] bytes = input.getBytes(charset); + byte[] bytes = converted.getBytes(charset); byte[] maskArray = new byte[bytes.length]; Arrays.fill(maskArray, (byte) 0xff);