? diffs Index: app_agi.c =================================================================== RCS file: /usr/cvsroot/asterisk/apps/app_agi.c,v retrieving revision 1.29 diff -u -r1.29 app_agi.c --- app_agi.c 5 Mar 2004 14:23:22 -0000 1.29 +++ app_agi.c 10 Mar 2004 18:15:52 -0000 @@ -566,12 +566,16 @@ if (res < 0) { ast_closestream(fs); fdprintf(agi->fd, "200 result=%d (waitfor) endpos=%ld\n", res,sample_offset); + if(sildet) + ast_dsp_free(sildet); return RESULT_FAILURE; } f = ast_read(chan); if (!f) { fdprintf(agi->fd, "200 result=%d (hangup) endpos=%ld\n", 0, sample_offset); ast_closestream(fs); + if(sildet) + ast_dsp_free(sildet); return RESULT_FAILURE; } switch(f->frametype) { @@ -582,6 +586,8 @@ fdprintf(agi->fd, "200 result=%d (dtmf) endpos=%ld\n", f->subclass, sample_offset); ast_closestream(fs); ast_frfree(f); + if(sildet) + ast_dsp_free(sildet); return RESULT_SUCCESS; } break;