From 8df26b480fca3fb9126a1ef06bfa9fb372403738 Mon Sep 17 00:00:00 2001 From: Dragos Oancea Date: Thu, 30 Jan 2020 15:13:34 +0000 Subject: [PATCH] [core] fix memory leak on playback, in certain error conditions (eg: native file related) --- src/switch_ivr_play_say.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/switch_ivr_play_say.c b/src/switch_ivr_play_say.c index 339515faec..e4f6de3552 100644 --- a/src/switch_ivr_play_say.c +++ b/src/switch_ivr_play_say.c @@ -1474,11 +1474,6 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_play_file(switch_core_session_t *sess interval = read_impl.microseconds_per_packet / 1000; - if (!fh->audio_buffer) { - switch_buffer_create_dynamic(&fh->audio_buffer, FILE_BLOCKSIZE, FILE_BUFSIZE, 0); - switch_assert(fh->audio_buffer); - } - codec_name = "L16"; if (!switch_core_codec_ready((&codec))) { @@ -1589,6 +1584,11 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_play_file(switch_core_session_t *sess switch_event_fire(&event); } + if (!fh->audio_buffer) { + switch_buffer_create_dynamic(&fh->audio_buffer, FILE_BLOCKSIZE, FILE_BUFSIZE, 0); + switch_assert(fh->audio_buffer); + } + for (;;) { int do_speed = 1; int last_speed = -1;