From: Scott Griepentrog Date: Wed, 2 Mar 2016 15:34:10 +0000 (-0600) Subject: CHAOS: prevent crash on failed strdup X-Git-Tag: 14.0.0-beta1~370 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fchanges%2F40%2F2340%2F2;p=thirdparty%2Fasterisk.git CHAOS: prevent crash on failed strdup This patch avoids crashing on a null pointer if the strdup() allocation fails. ASTERISK-25323 Change-Id: I3f67434820ba53b53663efd6cbb42749f4f6c0f5 --- diff --git a/res/res_pjsip_messaging.c b/res/res_pjsip_messaging.c index 7532e39be5..20d1f9d993 100644 --- a/res/res_pjsip_messaging.c +++ b/res/res_pjsip_messaging.c @@ -530,6 +530,10 @@ static struct msg_data* msg_data_create(const struct ast_msg *msg, const char *t /* Make sure we start with sip: */ mdata->to = ast_begins_with(to, "sip:") ? ast_strdup(++to) : ast_strdup(to - 3); mdata->from = ast_strdup(from); + if (!mdata->to || !mdata->from) { + ao2_ref(mdata, -1); + return NULL; + } /* sometimes from can still contain the tag at this point, so remove it */ if ((tag = strchr(mdata->from, ';'))) {