summaryrefslogtreecommitdiff
path: root/main/channel.c
diff options
context:
space:
mode:
authorMark Michelson <mmichelson@digium.com>2009-06-10 18:58:12 +0000
committerMark Michelson <mmichelson@digium.com>2009-06-10 18:58:12 +0000
commit554456f0fc9e4bdcfd6c7f8ef14e12ec103cdd54 (patch)
tree775da702d92bb7eb4569c9015054fe657c9e4dc3 /main/channel.c
parent2cec55f03883eb0ce7d3c7ef058c7197f7a534e8 (diff)
Use ast_channel_unref to instead of ast_free on a newly created channel.
Also I removed an unnecessary free of a cid_name. This will be freed properly in the channel destructor. Reported by mnicholson in #asterisk-dev. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@199923 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/channel.c')
-rw-r--r--main/channel.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/main/channel.c b/main/channel.c
index 3dcd380fa..d877fc526 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -826,17 +826,14 @@ __ast_channel_alloc_ap(int needqueue, int state, const char *cid_num, const char
if (!(tmp->cid.cid_name = ast_strdup(cid_name))) {
ast_string_field_free_memory(tmp);
sched_context_destroy(tmp->sched);
- ast_free(tmp);
- return NULL;
+ return ast_channel_unref(tmp);
}
}
if (cid_num) {
if (!(tmp->cid.cid_num = ast_strdup(cid_num))) {
ast_string_field_free_memory(tmp);
sched_context_destroy(tmp->sched);
- ast_free(tmp->cid.cid_name);
- ast_free(tmp);
- return NULL;
+ return ast_channel_unref(tmp);
}
}