]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-11792: [core] Fix memory leak in switch_ivr_originate.c
authorAndrey Volk <andywolk@gmail.com>
Thu, 18 Apr 2019 15:04:30 +0000 (19:04 +0400)
committerAndrey Volk <andywolk@gmail.com>
Tue, 23 Apr 2019 13:54:49 +0000 (17:54 +0400)
src/switch_ivr_originate.c

index 8887670fa9172b8ff3ba97dc6f30fdeccb9fe11c..f482809994bf9ad4ec7c3cbfac2935aaeb24aa2c 100644 (file)
@@ -1364,6 +1364,11 @@ static switch_status_t setup_ringback(originate_global_t *oglobals, originate_st
                        }
                        SWITCH_IVR_VERIFY_SILENCE_DIVISOR(ringback->silence);
                } else {
+                       if (ringback->audio_buffer) {
+                               switch_buffer_destroy(&ringback->audio_buffer);
+                               teletone_destroy_session(&ringback->ts);
+                       }
+
                        switch_buffer_create_dynamic(&ringback->audio_buffer, 512, 1024, 0);
                        switch_buffer_set_loops(ringback->audio_buffer, -1);