From: Joshua C. Colp Date: Wed, 3 Mar 2021 13:32:22 +0000 (-0400) Subject: channel: Fix memory leak in suppress API. X-Git-Tag: 19.0.0-rc1~196 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3e5b9e3952a2125b420a7ff60877ca216d6eda22;p=thirdparty%2Fasterisk.git channel: Fix memory leak in suppress API. A frame suppression API exists as part of channels which allows audio frames to or from a channel to be dropped. The MuteAudio AMI action uses this API to perform its job. This API uses a framehook to intercept flowing audio and drop it when appropriate. It is the responsibility of the framehook to free the frame it is given if it changes the frame. The suppression API failed to do this resulting in a leak of audio frames. This change adds the freeing of these frames. ASTERISK-29071 Change-Id: Ie50acd454d672d36af914050c327d2e120d8ba7b --- diff --git a/main/channel.c b/main/channel.c index 784ea28447..3d6fae64d3 100644 --- a/main/channel.c +++ b/main/channel.c @@ -10845,6 +10845,7 @@ static struct ast_frame *suppress_framehook_event_cb(struct ast_channel *chan, s if (suppress_frame) { switch (frame->frametype) { case AST_FRAME_VOICE: + ast_frfree(frame); frame = &ast_null_frame; break; default: