From: Travis Cross Date: Wed, 9 Apr 2014 07:26:36 +0000 (+0000) Subject: Fix memory leak in phrase macro playback X-Git-Tag: v1.5.12~211 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2ace7bc79b08f1d3e6379db3f7bcfe4316716aeb;p=thirdparty%2Ffreeswitch.git 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. --- 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;