From 0e5508ab57b1ed28a7c8ff465cd830100e1bbbb5 Mon Sep 17 00:00:00 2001 From: Chris Rienzo Date: Sat, 12 Nov 2016 13:03:48 -0500 Subject: [PATCH] FS-9733 [mod_rayo] prevent bad tts format string from being generated when MRCP headers are not present --- src/mod/event_handlers/mod_rayo/rayo_output_component.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/mod/event_handlers/mod_rayo/rayo_output_component.c b/src/mod/event_handlers/mod_rayo/rayo_output_component.c index 32f2c7d754..c6447cbacc 100644 --- a/src/mod/event_handlers/mod_rayo/rayo_output_component.c +++ b/src/mod/event_handlers/mod_rayo/rayo_output_component.c @@ -79,6 +79,7 @@ static struct rayo_component *create_output_component(struct rayo_actor *actor, output_component->max_time_ms = iks_find_int_attrib(output, "max-time"); output_component->start_paused = iks_find_bool_attrib(output, "start-paused"); output_component->renderer = switch_core_strdup(RAYO_POOL(output_component), iks_find_attrib_soft(output, "renderer")); + output_component->headers = NULL; /* get custom headers */ { switch_stream_handle_t headers = { 0 }; @@ -95,11 +96,11 @@ static struct rayo_component *create_output_component(struct rayo_actor *actor, } } } - if (headers.data) { + if (headers.data && !first) { headers.write_function(&headers, "}"); output_component->headers = switch_core_strdup(RAYO_POOL(output_component), (char *)headers.data); - free(headers.data); } + switch_safe_free(headers.data); } } else { switch_core_destroy_memory_pool(&pool);