From: Øyvind Harboe Date: Wed, 7 Jul 2010 12:56:56 +0000 (+0200) Subject: transport: fix segfault in transport select X-Git-Tag: v0.5.0-rc1~531 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=daa02f7d84017f21c3ffa2be9997560d353a8829;p=openocd transport: fix segfault in transport select String compare against addresses in range 0 or so due to not checking if there was an active session first. Signed-off-by: Øyvind Harboe --- diff --git a/src/jtag/transport.c b/src/jtag/transport.c index cee8ffb3..e431feec 100644 --- a/src/jtag/transport.c +++ b/src/jtag/transport.c @@ -281,18 +281,17 @@ COMMAND_HANDLER(handle_transport_select) return ERROR_FAIL; case 1: /* "select FOO" */ - if(strcmp(session->name, CMD_ARGV[0]) == 0) { + if ((session!= NULL) && strcmp(session->name, CMD_ARGV[0]) == 0) { /* NOP */ LOG_DEBUG("transport '%s' is already selected", CMD_ARGV[0]); return ERROR_OK; } else { - - /* we can't change this session's transport after-the-fact */ - if (session) { - LOG_ERROR("session's transport is already selected."); - return ERROR_FAIL; - } + /* we can't change this session's transport after-the-fact */ + if (session) { + LOG_ERROR("session's transport is already selected."); + return ERROR_FAIL; + } } break;