Fix channel name comparison for bridge application.
authorJeff Peeler <jpeeler@digium.com>
Wed, 6 Jan 2010 19:05:06 +0000 (19:05 +0000)
committerJeff Peeler <jpeeler@digium.com>
Wed, 6 Jan 2010 19:05:06 +0000 (19:05 +0000)
The channel name comparison was not comparing the whole string and therefore
if one channel name was a substring of the other, the bridge would fail.

(closes issue #16528)
Reported by: telecos82
Patches:
      res_features_r236843.diff uploaded by telecos82 (license 687)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@238134 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/features.c

index 85d3699..261ba46 100644 (file)
@@ -4975,9 +4975,7 @@ static int bridge_exec(struct ast_channel *chan, const char *data)
                ast_app_parse_options(bridge_exec_options, &opts, opt_args, args.options);
 
        /* avoid bridge with ourselves */
-       if (!strncmp(chan->name, args.dest_chan, 
-               strlen(chan->name) < strlen(args.dest_chan) ? 
-               strlen(chan->name) : strlen(args.dest_chan))) {
+       if (!strcmp(chan->name, args.dest_chan)) {
                ast_log(LOG_WARNING, "Unable to bridge channel %s with itself\n", chan->name);
                ast_manager_event(chan, EVENT_FLAG_CALL, "BridgeExec",
                                        "Response: Failed\r\n"