From 3ed254c18aa7fc24cbc692433729ec3819fc5537 Mon Sep 17 00:00:00 2001 From: Antonio Borneo Date: Thu, 31 Dec 2009 07:13:16 +0800 Subject: ARM7_9: Fix segfaults Handlers for commands - arm7_9 semihosting - $_TARGETNAME arp_reset assert 1 didn't check if target has already been examined, and could segfault when using the NULL pointer "arm7_9->eice_cache". Signed-off-by: Antonio Borneo Signed-off-by: David Brownell --- src/target/arm7_9_common.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/target/arm7_9_common.c') diff --git a/src/target/arm7_9_common.c b/src/target/arm7_9_common.c index e5969806..a09b0ad9 100644 --- a/src/target/arm7_9_common.c +++ b/src/target/arm7_9_common.c @@ -2797,6 +2797,12 @@ COMMAND_HANDLER(handle_arm7_9_semihosting_command) COMMAND_PARSE_ENABLE(CMD_ARGV[0], semihosting); + if (!target_was_examined(target)) + { + LOG_ERROR("Target not examined yet"); + return ERROR_FAIL; + } + if (arm7_9->has_vector_catch) { struct reg *vector_catch = &arm7_9->eice_cache ->reg_list[EICE_VEC_CATCH]; -- cgit v1.2.3