diff options
author | Mark Michelson <mmichelson@digium.com> | 2009-06-10 18:58:12 +0000 |
---|---|---|
committer | Mark Michelson <mmichelson@digium.com> | 2009-06-10 18:58:12 +0000 |
commit | 554456f0fc9e4bdcfd6c7f8ef14e12ec103cdd54 (patch) | |
tree | 775da702d92bb7eb4569c9015054fe657c9e4dc3 /main/channel.c | |
parent | 2cec55f03883eb0ce7d3c7ef058c7197f7a534e8 (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.c | 7 |
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); } } |