]> git.gag.com Git - fw/openocd/commitdiff
target/target: Check checksum_memory before call
authorYasushi SHOJI <yashi@spacecubics.com>
Mon, 29 Nov 2021 13:33:27 +0000 (22:33 +0900)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sat, 11 Dec 2021 17:41:46 +0000 (17:41 +0000)
Make sure checksum_memory is present.  Otherwise it'll segfault.

Change-Id: If31123323bd8a03282da43505c9604fde735ad0e
Signed-off-by: Yasushi SHOJI <yashi@spacecubics.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/6758
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
src/target/target.c

index 27888a83e1a153d8c7cef38635559bc0b5b734ca..e9cbe39b7ad886d13044fb3ad267bfb8e31eba7e 100644 (file)
@@ -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) {