From: Matthew Nicholson Date: Mon, 14 Sep 2009 14:53:57 +0000 (+0000) Subject: Ensure we don't pickup ourselves when doing pickup by exten. X-Git-Tag: 1.4.27-rc1~2^2~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=903460b8480d3f09583c502eced680e4a41bceb7;p=thirdparty%2Fasterisk.git Ensure we don't pickup ourselves when doing pickup by exten. (closes issue #15100) Reported by: lmsteffan Patches: (modified) pickup.patch uploaded by lmsteffan (license 779) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@218223 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/apps/app_directed_pickup.c b/apps/app_directed_pickup.c index 68d9652444..d591ca1800 100644 --- a/apps/app_directed_pickup.c +++ b/apps/app_directed_pickup.c @@ -98,7 +98,7 @@ static int pickup_by_exten(struct ast_channel *chan, char *exten, char *context) while ((target = ast_channel_walk_locked(target))) { if ((!strcasecmp(target->macroexten, exten) || !strcasecmp(target->exten, exten)) && !strcasecmp(target->dialcontext, context) && - can_pickup(target)) { + (chan != target) && can_pickup(target)) { res = pickup_do(chan, target); ast_channel_unlock(target); break;