--- main/channel.c-old 2009-11-01 00:17:12.000000000 +0300 +++ main/channel.c 2009-11-01 00:18:42.000000000 +0300 @@ -1326,12 +1326,12 @@ ast_channel_lock(chan); - if (cmp_args->name) { /* match by name */ + if (cmp_args->name && cmp_args->name[0]) { /* match by name */ if ((!name_len && strcasecmp(chan->name, cmp_args->name)) || (name_len && strncasecmp(chan->name, cmp_args->name, name_len))) { ret = 0; /* name match failed */ } - } else if (cmp_args->exten) { + } else if (cmp_args->exten && cmp_args->exten[0]) { if (cmp_args->context && strcasecmp(chan->context, cmp_args->context) && strcasecmp(chan->macrocontext, cmp_args->context)) { ret = 0; /* context match failed */ @@ -1340,11 +1340,13 @@ strcasecmp(chan->macroexten, cmp_args->exten)) { ret = 0; /* exten match failed */ } - } else if (cmp_args->uniqueid) { + } else if (cmp_args->uniqueid && cmp_args->uniqueid[0]) { if ((!name_len && strcasecmp(chan->uniqueid, cmp_args->uniqueid)) || (name_len && strncasecmp(chan->uniqueid, cmp_args->uniqueid, name_len))) { ret = 0; /* uniqueid match failed */ } + } else { + ret = 0; } ast_channel_unlock(chan);