]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Fix memory leak in phrase macro playback
authorTravis Cross <tc@traviscross.com>
Wed, 9 Apr 2014 07:26:36 +0000 (07:26 +0000)
committerTravis Cross <tc@traviscross.com>
Wed, 9 Apr 2014 18:41:02 +0000 (18:41 +0000)
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

index 484a6c8a37cbfa730451e35db4b51b220addc792..0e8cd245984fbb9573228ff729d97ede4b4417f0 100644 (file)
@@ -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;