Whoops - looks like this broke the build: https://bamboo.asterisk.org/bamboo/browse/AST-ATRUNKBUILD3-460
On Sun, Nov 2, 2014 at 2:03 AM, SVN commits to the Asterisk project <[email protected]> wrote: > Author: coreyfarrell > Date: Sun Nov 2 02:03:18 2014 > New Revision: 427024 > > URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=427024 > Log: > Fix ast_writestream leaks > > Fix cleanup in __ast_play_and_record where others[x] may be leaked. > This was caught where prepend != NULL && outmsg != NULL, once > realfile[x] == NULL any further others[x] would be leaked. A cleanup > block was also added for prepend != NULL && outmsg == NULL. > > 11+: Fix leak of ast_writestream recording_fs in > app_voicemail:leave_voicemail. > > ASTERISK-24476 #close > Reported by: Corey Farrell > Review: https://reviewboard.asterisk.org/r/4138/ > ........ > > Merged revisions 427023 from http://svn.asterisk.org/svn/asterisk/branches/1.8 > > Modified: > branches/11/ (props changed) > branches/11/apps/app_voicemail.c > branches/11/main/app.c > > Propchange: branches/11/ > ------------------------------------------------------------------------------ > Binary property 'branch-1.8-merged' - no diff available. > > Modified: branches/11/apps/app_voicemail.c > URL: > http://svnview.digium.com/svn/asterisk/branches/11/apps/app_voicemail.c?view=diff&rev=427024&r1=427023&r2=427024 > ============================================================================== > --- branches/11/apps/app_voicemail.c (original) > +++ branches/11/apps/app_voicemail.c Sun Nov 2 02:03:18 2014 > @@ -6041,6 +6041,7 @@ > ast_getformatbyname(recdata->recording_ext, &result); > duration = (int) (framelength / > ast_format_rate(&result)); > } > + ast_closeframe(recording_fs); > } > > /* If the duration was below the minimum duration for the user, let's > just drop the whole thing now */ > > Modified: branches/11/main/app.c > URL: > http://svnview.digium.com/svn/asterisk/branches/11/main/app.c?view=diff&rev=427024&r1=427023&r2=427024 > ============================================================================== > --- branches/11/main/app.c (original) > +++ branches/11/main/app.c Sun Nov 2 02:03:18 2014 > @@ -1385,17 +1385,19 @@ > ast_truncstream(others[x]); > ast_closestream(others[x]); > } > - } > - > - if (prepend && outmsg) { > + } else if (prepend && outmsg) { > struct ast_filestream *realfiles[AST_MAX_FORMATS]; > struct ast_frame *fr; > > for (x = 0; x < fmtcnt; x++) { > snprintf(comment, sizeof(comment), "Opening the real > file %s.%s\n", recordfile, sfmt[x]); > realfiles[x] = ast_readfile(recordfile, sfmt[x], > comment, O_RDONLY, 0, 0); > - if (!others[x] || !realfiles[x]) { > + if (!others[x]) { > break; > + } > + if (!realfiles[x]) { > + ast_closestream(others[x]); > + continue; > } > /*!\note Same logic as above. */ > if (dspsilence) { > @@ -1413,7 +1415,15 @@ > ast_verb(4, "Recording Format: sfmts=%s, prependfile > %s, recordfile %s\n", sfmt[x], prependfile, recordfile); > ast_filedelete(prependfile, sfmt[x]); > } > - } > + } else { > + for (x = 0; x < fmtcnt; x++) { > + if (!others[x]) { > + break; > + } > + ast_closestream(others[x]); > + } > + } > + > if (rfmt.id && ast_set_read_format(chan, &rfmt)) { > ast_log(LOG_WARNING, "Unable to restore format %s to channel > '%s'\n", ast_getformatname(&rfmt), ast_channel_name(chan)); > } > > > -- > _____________________________________________________________________ > -- Bandwidth and Colocation Provided by http://www.api-digital.com -- > > asterisk-commits mailing list > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-commits -- Matthew Jordan Digium, Inc. | Engineering Manager 445 Jan Davis Drive NW - Huntsville, AL 35806 - USA Check us out at: http://digium.com & http://asterisk.org -- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-dev mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev
