diff options
author | Antonio Borneo <borneo.antonio@gmail.com> | 2009-12-31 07:13:16 +0800 |
---|---|---|
committer | David Brownell <dbrownell@users.sourceforge.net> | 2009-12-30 16:58:27 -0800 |
commit | 3ed254c18aa7fc24cbc692433729ec3819fc5537 (patch) | |
tree | 9da912a4f5042d5eb7f97d9100ca0dfa3fc3c24d /src/target/target.c | |
parent | 7c5acf8660ddfce4746152e03749b699532f513f (diff) |
ARM7_9: Fix segfaults
Handlers for commands
- arm7_9 semihosting <enable | disable>
- $_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 <borneo.antonio@gmail.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Diffstat (limited to 'src/target/target.c')
-rw-r--r-- | src/target/target.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/target/target.c b/src/target/target.c index 8cb53b36..d3d1beee 100644 --- a/src/target/target.c +++ b/src/target/target.c @@ -4079,6 +4079,11 @@ static int jim_target_reset(Jim_Interp *interp, int argc, Jim_Obj *const *argv) struct target *target = Jim_CmdPrivData(goi.interp); if (!target->tap->enabled) return jim_target_tap_disabled(interp); + if (!(target_was_examined(target))) + { + LOG_ERROR("Target not examined yet"); + return ERROR_TARGET_NOT_EXAMINED; + } if (!target->type->assert_reset || !target->type->deassert_reset) { Jim_SetResult_sprintf(interp, |