summaryrefslogtreecommitdiff
path: root/channel.c
diff options
context:
space:
mode:
Diffstat (limited to 'channel.c')
-rwxr-xr-xchannel.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/channel.c b/channel.c
index 570aca7a6..cf1c7a7dd 100755
--- a/channel.c
+++ b/channel.c
@@ -1492,9 +1492,11 @@ struct ast_channel *ast_request_and_dial(char *type, int format, void *data, int
state = AST_CONTROL_RINGING;
else if ((f->subclass == AST_CONTROL_BUSY) || (f->subclass == AST_CONTROL_CONGESTION)) {
state = f->subclass;
+ ast_frfree(f);
break;
} else if (f->subclass == AST_CONTROL_ANSWER) {
state = f->subclass;
+ ast_frfree(f);
break;
} else {
ast_log(LOG_NOTICE, "Don't know what to do with control frame %d\n", f->subclass);