Author: coreyfarrell Date: Thu Nov 6 06:12:47 2014 New Revision: 427465 URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=427465 Log: main/file.c: fix possible extra ast_module_unref to format modules.
fn_wrapper only adds a reference to the format's module if the file was able to be opened. If not this causes an unmatched ast_module_unref in filestream_destructor. Move ast_module_ref to get_stream. ASTERISK-24492 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4149/ ........ Merged revisions 427464 from http://svn.asterisk.org/svn/asterisk/branches/11 Modified: branches/12/ (props changed) branches/12/main/file.c Propchange: branches/12/ ------------------------------------------------------------------------------ Binary property 'branch-11-merged' - no diff available. Modified: branches/12/main/file.c URL: http://svnview.digium.com/svn/asterisk/branches/12/main/file.c?view=diff&rev=427465&r1=427464&r2=427465 ============================================================================== --- branches/12/main/file.c (original) +++ branches/12/main/file.c Thu Nov 6 06:12:47 2014 @@ -428,6 +428,7 @@ int l = sizeof(*s) + fmt->buf_size + fmt->desc_size; /* total allocation size */ if ( (s = ao2_alloc(l, filestream_destructor)) == NULL) return NULL; + ast_module_ref(fmt->module); s->fmt = fmt; s->f = bfile; @@ -456,8 +457,7 @@ else if (mode == WRAP_REWRITE && f->rewrite && f->rewrite(s, comment)) ast_log(LOG_WARNING, "Unable to rewrite format %s\n", f->name); else { - /* preliminary checks succeed. update usecount */ - ast_module_ref(f->module); + /* preliminary checks succeed. */ ret = 0; } return ret; -- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- svn-commits mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/svn-commits
