From: George Joseph Date: Wed, 24 Aug 2016 19:42:34 +0000 (-0600) Subject: res_rtp_multicast: Fix SEGV in ast_multicast_rtp_create_options X-Git-Tag: 13.12.0-rc1~90^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c9e83f6d0be9d89a3beaa509b46c423d78fac6d1;p=thirdparty%2Fasterisk.git res_rtp_multicast: Fix SEGV in ast_multicast_rtp_create_options ast_multicast_rtp_create_options now checks for NULL or empty options Change-Id: Ib845eae46a67a9787e89a87ebd1027344e5e0362 --- diff --git a/res/res_rtp_multicast.c b/res/res_rtp_multicast.c index 53bdf14a4c..ea313476e6 100644 --- a/res/res_rtp_multicast.c +++ b/res/res_rtp_multicast.c @@ -143,7 +143,7 @@ struct ast_multicast_rtp_options *ast_multicast_rtp_create_options(const char *t mcast_options = ast_calloc(1, sizeof(*mcast_options) + strlen(type) - + strlen(options) + 2); + + strlen(S_OR(options, "")) + 2); if (!mcast_options) { return NULL; } @@ -155,8 +155,9 @@ struct ast_multicast_rtp_options *ast_multicast_rtp_create_options(const char *t mcast_options->type = pos; pos += strlen(type) + 1; - /* Safe */ - strcpy(pos, options); + if (!ast_strlen_zero(options)) { + strcpy(pos, options); /* Safe */ + } mcast_options->options = pos; if (ast_app_parse_options(multicast_rtp_options, &mcast_options->opts,