From d7142a57271079eca8e1c15034b74499ff4e3ef5 Mon Sep 17 00:00:00 2001 From: Yasushi SHOJI Date: Mon, 29 Nov 2021 22:33:27 +0900 Subject: [PATCH] target/target: Check checksum_memory before call Make sure checksum_memory is present. Otherwise it'll segfault. Change-Id: If31123323bd8a03282da43505c9604fde735ad0e Signed-off-by: Yasushi SHOJI Reviewed-on: https://review.openocd.org/c/openocd/+/6758 Tested-by: jenkins Reviewed-by: Antonio Borneo --- src/target/target.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/target/target.c b/src/target/target.c index 27888a83e1..e9cbe39b7a 100644 --- a/src/target/target.c +++ b/src/target/target.c @@ -2530,6 +2530,10 @@ int target_checksum_memory(struct target *target, target_addr_t address, uint32_ LOG_ERROR("Target not examined yet"); return ERROR_FAIL; } + if (!target->type->checksum_memory) { + LOG_ERROR("Target %s doesn't support checksum_memory", target_name(target)); + return ERROR_FAIL; + } retval = target->type->checksum_memory(target, address, size, &checksum); if (retval != ERROR_OK) { -- 2.30.2