From 2ace7bc79b08f1d3e6379db3f7bcfe4316716aeb Mon Sep 17 00:00:00 2001 From: Travis Cross Date: Wed, 9 Apr 2014 07:26:36 +0000 Subject: [PATCH] Fix memory leak in phrase macro playback We were leaking memory when break_on_match was set or when we received back SWITCH_STATUS_BREAK from a callee as we were failing to free field_expanded_alloc. --- src/switch_ivr_play_say.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/switch_ivr_play_say.c b/src/switch_ivr_play_say.c index 484a6c8a37..0e8cd24598 100644 --- a/src/switch_ivr_play_say.c +++ b/src/switch_ivr_play_say.c @@ -317,13 +317,12 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_phrase_macro_event(switch_core_sessio } switch_regex_safe_free(re); + switch_safe_free(field_expanded_alloc); if ((match && do_break && switch_true(do_break)) || status == SWITCH_STATUS_BREAK) { break; } - switch_safe_free(field_expanded_alloc); - if (status != SWITCH_STATUS_SUCCESS) { done = 1; break;