From: Tilghman Lesher Date: Sun, 25 Feb 2007 14:46:41 +0000 (+0000) Subject: Merged revisions 56684 via svnmerge from X-Git-Tag: 1.4.1~34 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=185d7f5a3a129c67b7cc956d1971965afa2b5525;p=thirdparty%2Fasterisk.git Merged revisions 56684 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r56684 | tilghman | 2007-02-25 08:38:03 -0600 (Sun, 25 Feb 2007) | 3 lines Issue 9130 - If prev is the last item on the channel list, then evaluating additional conditions (e.g. name prefix) will cause a NULL dereference. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@56685 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/main/channel.c b/main/channel.c index da8f22a6a0..eecf0e64c8 100644 --- a/main/channel.c +++ b/main/channel.c @@ -997,7 +997,11 @@ static struct ast_channel *channel_find_locked(const struct ast_channel *prev, if (c != prev) /* not this one */ continue; /* found, prepare to return c->next */ - c = AST_LIST_NEXT(c, chan_list); + if ((c = AST_LIST_NEXT(c, chan_list)) == NULL) break; + /* If prev was the last item on the channel list, then we just + * want to return NULL, instead of trying to deref NULL in the + * next section. + */ } if (name) { /* want match by name */ if ((!namelen && strcasecmp(c->name, name)) ||