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 <oyvind.harboe@zylin.com>
This commit is contained in:
Øyvind Harboe 2010-07-07 14:56:56 +02:00
parent ccaa9edf29
commit daa02f7d84
1 changed files with 6 additions and 7 deletions

View File

@ -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;