diff --git a/apps/app_alarmreceiver.c b/apps/app_alarmreceiver.c index c69417aa4af6712ee6b15fee1b7debc747a213b9..faa2c6a00e6e5c576f0cd408c2f84d5f856738c6 100644 --- a/apps/app_alarmreceiver.c +++ b/apps/app_alarmreceiver.c @@ -206,6 +206,7 @@ static int send_tone_burst(struct ast_channel *chan, float freq, int duration, i i += wf.datalen / 8; if (i > duration) { + ast_frfree(f); break; } if (ast_write(chan, &wf)){ @@ -213,6 +214,7 @@ static int send_tone_burst(struct ast_channel *chan, float freq, int duration, i ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: Failed to write frame on %s\n", chan->name); ast_log(LOG_WARNING, "AlarmReceiver Failed to write frame on %s\n",chan->name); res = -1; + ast_frfree(f); break; } }