summaryrefslogtreecommitdiff
path: root/main/channel.c
diff options
context:
space:
mode:
authorKevin P. Fleming <kpfleming@digium.com>2009-03-17 14:59:33 +0000
committerKevin P. Fleming <kpfleming@digium.com>2009-03-17 14:59:33 +0000
commit16b9280ba99887380c32c8291cfe8425807b6393 (patch)
tree4f597877cdd88ba4f043f2bc227b8cd98c76938b /main/channel.c
parentd11b6386a5e69cb881a1fe251609c902212b495a (diff)
correct logic flaw in ast_answer() changes in r182525
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@182530 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/channel.c')
-rw-r--r--main/channel.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/main/channel.c b/main/channel.c
index 3520efc22..8f90dcc29 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -1837,7 +1837,8 @@ int __ast_answer(struct ast_channel *chan, unsigned int delay, int cdr_answer)
if (res == 0) {
ast_channel_lock(chan);
- while ((cur = AST_LIST_REMOVE(&frames, AST_LIST_LAST(&frames), frame_list))) {
+ while ((cur = AST_LIST_LAST(&frames))) {
+ AST_LIST_REMOVE(&frames, cur, frame_list);
ast_queue_frame_head(chan, cur);
ast_frfree(cur);
}