From: Antonio Borneo Date: Wed, 30 Dec 2009 18:43:56 +0000 (+0800) Subject: ARM9TDMI: Fix segfault. X-Git-Tag: v0.4.0-rc2~171 X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=commitdiff_plain;h=17fb7ead4b901f10c01c0824f594d91775b012b3 ARM9TDMI: Fix segfault. The handler for "arm9tdmi vector_catch ..." did not check if target has already been examined. Without this fix it segfaults when using NULL pointer "arm7_9->eice_cache". Signed-off-by: Antonio Borneo Signed-off-by: David Brownell --- diff --git a/src/target/arm9tdmi.c b/src/target/arm9tdmi.c index 0e99cd1e58..ae0c4e05ed 100644 --- a/src/target/arm9tdmi.c +++ b/src/target/arm9tdmi.c @@ -834,6 +834,12 @@ COMMAND_HANDLER(handle_arm9tdmi_catch_vectors_command) struct reg *vector_catch; uint32_t vector_catch_value; + if (!target_was_examined(target)) + { + LOG_ERROR("Target not examined yet"); + return ERROR_FAIL; + } + /* it's uncommon, but some ARM7 chips can support this */ if (arm7_9->common_magic != ARM7_9_COMMON_MAGIC || !arm7_9->has_vector_catch) {