diff --git a/main/core_local.c b/main/core_local.c index 8825739a6dd4549cfad1ab3117bd42a9a305b685..88bf3ae4cfdaf1fcd224962edf77cf3f8761d64e 100644 --- a/main/core_local.c +++ b/main/core_local.c @@ -422,7 +422,7 @@ static struct ast_manager_event_blob *local_message_to_ami(struct stasis_message struct ast_channel_snapshot *local_snapshot_two; RAII_VAR(struct ast_str *, local_channel_one, NULL, ast_free); RAII_VAR(struct ast_str *, local_channel_two, NULL, ast_free); - struct ast_str *event_buffer = ast_str_alloca(128); + RAII_VAR(struct ast_str *, event_buffer, NULL, ast_free); const char *event; local_snapshot_one = ast_multi_channel_blob_get_channel(obj, "1"); @@ -431,9 +431,10 @@ static struct ast_manager_event_blob *local_message_to_ami(struct stasis_message return NULL; } + event_buffer = ast_str_create(1024); local_channel_one = ast_manager_build_channel_state_string_prefix(local_snapshot_one, "LocalOne"); local_channel_two = ast_manager_build_channel_state_string_prefix(local_snapshot_two, "LocalTwo"); - if (!local_channel_one || !local_channel_two) { + if (!event_buffer || !local_channel_one || !local_channel_two) { return NULL; }