mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-09 11:28:25 +00:00
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
(cherry picked from commit c9e83f6d0b)
This commit is contained in:
committed by
Kevin Harwell
parent
91e415b970
commit
e64170e493
@@ -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)
|
mcast_options = ast_calloc(1, sizeof(*mcast_options)
|
||||||
+ strlen(type)
|
+ strlen(type)
|
||||||
+ strlen(options) + 2);
|
+ strlen(S_OR(options, "")) + 2);
|
||||||
if (!mcast_options) {
|
if (!mcast_options) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -155,8 +155,9 @@ struct ast_multicast_rtp_options *ast_multicast_rtp_create_options(const char *t
|
|||||||
mcast_options->type = pos;
|
mcast_options->type = pos;
|
||||||
pos += strlen(type) + 1;
|
pos += strlen(type) + 1;
|
||||||
|
|
||||||
/* Safe */
|
if (!ast_strlen_zero(options)) {
|
||||||
strcpy(pos, options);
|
strcpy(pos, options); /* Safe */
|
||||||
|
}
|
||||||
mcast_options->options = pos;
|
mcast_options->options = pos;
|
||||||
|
|
||||||
if (ast_app_parse_options(multicast_rtp_options, &mcast_options->opts,
|
if (ast_app_parse_options(multicast_rtp_options, &mcast_options->opts,
|
||||||
|
|||||||
Reference in New Issue
Block a user