diff --git a/res/res_adsi.c b/res/res_adsi.c index 664157c51..149381a0c 100644 --- a/res/res_adsi.c +++ b/res/res_adsi.c @@ -179,6 +179,7 @@ static int adsi_careful_send(struct ast_channel *chan, unsigned char *buf, int l outf.samples = amt; if (ast_write(chan, &outf)) { ast_log(LOG_WARNING, "Failed to carefully write frame\n"); + ast_frfree(inf); return -1; } /* Update pointers and lengths */ @@ -242,6 +243,7 @@ static int __adsi_transmit_messages(struct ast_channel *chan, unsigned char **ms if (!chan->adsicpe) chan->adsicpe = AST_ADSI_UNAVAILABLE; errno = ENOSYS; + ast_frfree(f); return -1; } }