From: Sean Bright Date: Fri, 22 May 2009 20:01:11 +0000 (+0000) Subject: Don't crash if an RTP instance can't be created. This could occur when an X-Git-Tag: 11.0.0-beta1~4833 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=de6498b2d32a94e418af79ec48b6eca4698a0522;p=thirdparty%2Fasterisk.git Don't crash if an RTP instance can't be created. This could occur when an invalid bindaddr was specified in gtalk.conf. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196381 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_gtalk.c b/channels/chan_gtalk.c index 7b430fa099..bfa0915f63 100644 --- a/channels/chan_gtalk.c +++ b/channels/chan_gtalk.c @@ -947,7 +947,11 @@ static struct gtalk_pvt *gtalk_alloc(struct gtalk *client, const char *us, const tmp->initiator = 1; } /* clear codecs */ - tmp->rtp = ast_rtp_instance_new(NULL, sched, &bindaddr, NULL); + if (!(tmp->rtp = ast_rtp_instance_new(NULL, sched, &bindaddr, NULL))) { + ast_log(LOG_ERROR, "Failed to create a new RTP instance (possibly an invalid bindaddr?)\n"); + ast_free(tmp); + return NULL; + } ast_rtp_instance_set_prop(tmp->rtp, AST_RTP_PROPERTY_RTCP, 1); ast_rtp_codecs_payloads_clear(ast_rtp_instance_get_codecs(tmp->rtp), tmp->rtp);