aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrmudgett <rmudgett@f38db490-d61c-443f-a65b-d21fe96a405b>2011-02-23 23:38:04 +0000
committerrmudgett <rmudgett@f38db490-d61c-443f-a65b-d21fe96a405b>2011-02-23 23:38:04 +0000
commite84227050f49fbf0e4c0662b1abb8fc14ff24711 (patch)
tree0fb13b03b0dd5f42f109742880ab6b94d990a09c
parent466be071367e2490fc9b38efce7b0fb70becdb90 (diff)
sig_pri_new_ast_channel() should return NULL when new_ast_channel() fails.
(closes issue #18874) Reported by: cmaj Patches: patch-sig_pri-crash-possible-null-channel-pointer.diff.txt uploaded by cmaj (license 830) JIRA SWP-3172 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@308622 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--channels/sig_pri.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/channels/sig_pri.c b/channels/sig_pri.c
index fadf111e1..549a11d89 100644
--- a/channels/sig_pri.c
+++ b/channels/sig_pri.c
@@ -865,10 +865,14 @@ static struct ast_channel *sig_pri_new_ast_channel(struct sig_pri_chan *p, int s
{
struct ast_channel *c;
- if (p->calls->new_ast_channel)
+ if (p->calls->new_ast_channel) {
c = p->calls->new_ast_channel(p->chan_pvt, state, ulaw, exten, requestor);
- else
+ } else {
+ return NULL;
+ }
+ if (!c) {
return NULL;
+ }
if (!p->owner)
p->owner = c;