diff --git a/Ghidra/Debug/Debugger-gadp/src/main/java/ghidra/dbg/gadp/client/GadpValueUtils.java b/Ghidra/Debug/Debugger-gadp/src/main/java/ghidra/dbg/gadp/client/GadpValueUtils.java index edb4efef3d..8cc9935825 100644 --- a/Ghidra/Debug/Debugger-gadp/src/main/java/ghidra/dbg/gadp/client/GadpValueUtils.java +++ b/Ghidra/Debug/Debugger-gadp/src/main/java/ghidra/dbg/gadp/client/GadpValueUtils.java @@ -539,7 +539,10 @@ public enum GadpValueUtils { public static Gadp.Value makeValue(List path, Object value) { Gadp.Value.Builder b = Gadp.Value.newBuilder(); - if (value instanceof Boolean) { + if (value == null) { + b.clearSpec(); + } + else if (value instanceof Boolean) { b.setBoolValue((Boolean) value); } else if (value instanceof Integer) { diff --git a/Ghidra/Debug/Debugger-gadp/src/test/java/ghidra/dbg/gadp/GadpClientServerTest.java b/Ghidra/Debug/Debugger-gadp/src/test/java/ghidra/dbg/gadp/GadpClientServerTest.java index 283fb2211f..870a1277e6 100644 --- a/Ghidra/Debug/Debugger-gadp/src/test/java/ghidra/dbg/gadp/GadpClientServerTest.java +++ b/Ghidra/Debug/Debugger-gadp/src/test/java/ghidra/dbg/gadp/GadpClientServerTest.java @@ -384,7 +384,7 @@ public class GadpClientServerTest implements AsyncTestUtils { } private static final TargetParameterMap ORDERED_PARAMS = TargetMethod.makeParameters( - ParameterDescription.create(String.class, "H", true, "", "H", "H"), + ParameterDescription.create(String.class, "H", true, null, "H", "H"), ParameterDescription.create(String.class, "e", true, "", "e", "e"), ParameterDescription.create(String.class, "l", true, "", "l", "l"), ParameterDescription.create(String.class, "m", true, "", "l", "l"), @@ -869,6 +869,9 @@ public class GadpClientServerTest implements AsyncTestUtils { assertEquals("HelmoWprnd", params.values().stream().map(p -> p.name).collect(Collectors.joining())); + assertNull(params.get("H").defaultValue); + assertEquals("", params.get("e").defaultValue); + waitOn(client.close()); } finally {