From: Brett Bryant Date: Thu, 30 Sep 2010 17:09:48 +0000 (+0000) Subject: Merged revisions 289500 via svnmerge from X-Git-Tag: 1.6.2.15-rc1~68 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5ecab62d10f9748310c196b551b2cb12bb8f35fe;p=thirdparty%2Fasterisk.git Merged revisions 289500 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r289500 | bbryant | 2010-09-30 13:08:20 -0400 (Thu, 30 Sep 2010) | 11 lines res_agi.c:handle_getvariablefull() could recursively lock a channel and not release it if an argument is the current channel's name. (closes issue #17970) Reported by: mdu113 Patches: res_agi.c.diff3 uploaded by mdu113 (license 582) Tested by: mdu113 Review: https://reviewboard.asterisk.org/r/947/ ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@289501 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/res/res_agi.c b/res/res_agi.c index 3ecf89be4f..2fbb837b44 100644 --- a/res/res_agi.c +++ b/res/res_agi.c @@ -1846,7 +1846,7 @@ static int handle_getvariablefull(struct ast_channel *chan, AGI *agi, int argc, if ((argc != 4) && (argc != 5)) return RESULT_SHOWUSAGE; - if (argc == 5) { + if (argc == 5 && strcasecmp(chan->name, argv[4])) { chan2 = ast_get_channel_by_name_locked(argv[4]); } else { chan2 = chan;