From 8aded2e6c389a982c12c59353a3afbcd8f23fed5 Mon Sep 17 00:00:00 2001 From: Teal Bauer Date: Thu, 22 May 2025 14:25:09 +0200 Subject: [PATCH] fix: Add another address check for creating functions --- .../eu/starsong/ghidra/endpoints/FunctionEndpoints.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/eu/starsong/ghidra/endpoints/FunctionEndpoints.java b/src/main/java/eu/starsong/ghidra/endpoints/FunctionEndpoints.java index 3f01f24..565e7b7 100644 --- a/src/main/java/eu/starsong/ghidra/endpoints/FunctionEndpoints.java +++ b/src/main/java/eu/starsong/ghidra/endpoints/FunctionEndpoints.java @@ -509,6 +509,12 @@ public class FunctionEndpoints extends AbstractEndpoint { return; } + // Check if address is in a valid memory block + if (program.getMemory().getBlock(address) == null) { + sendErrorResponse(exchange, 400, "Address is not in a defined memory block: " + addressStr, "INVALID_ADDRESS"); + return; + } + // Check if function already exists if (program.getFunctionManager().getFunctionAt(address) != null) { sendErrorResponse(exchange, 409, "Function already exists at address: " + addressStr, "FUNCTION_EXISTS");