target: fix null pointer exception
authorØyvind Harboe <oyvind.harboe@zylin.com>
Tue, 1 Nov 2011 21:00:46 +0000 (22:00 +0100)
committerSpencer Oliver <spen@spen-soft.co.uk>
Tue, 1 Nov 2011 21:20:19 +0000 (21:20 +0000)
check if no target is selected and return error.

Change-Id: Ie8abb63c708d09572b45e88fc6766af108715077
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
Reviewed-on: http://openocd.zylin.com/148
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
src/target/armv4_5.c

index ef9b8397aa2ef56f7c5171c99374026e84f4b29f..e576d9c0b8a66cbe67ef378e4970e100e9d9aa47 100644 (file)
@@ -741,7 +741,13 @@ COMMAND_HANDLER(handle_arm_disassemble_command)
 {
        int retval = ERROR_OK;
        struct target *target = get_current_target(CMD_CTX);
-       struct arm *arm = target ? target_to_arm(target) : NULL;
+
+       if (target == NULL) {
+               LOG_ERROR("No target selected");
+               return ERROR_FAIL;
+       }
+
+       struct arm *arm = target_to_arm(target);
        uint32_t address;
        int count = 1;
        int thumb = 0;
@@ -946,7 +952,13 @@ static int jim_mcrmrc(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
 COMMAND_HANDLER(handle_arm_semihosting_command)
 {
        struct target *target = get_current_target(CMD_CTX);
-       struct arm *arm = target ? target_to_arm(target) : NULL;
+
+       if (target == NULL) {
+               LOG_ERROR("No target selected");
+               return ERROR_FAIL;
+       }
+
+       struct arm *arm = target_to_arm(target);
 
        if (!is_arm(arm)) {
                command_print(CMD_CTX, "current target isn't an ARM");