[asterisk-bugs] [Asterisk 0013566]: ast_moh_free_class in res_musiconhold.c:195

Asterisk Bug Tracker noreply at bugs.digium.com
Tue Sep 30 19:25:15 CDT 2008


The following issue requires your FEEDBACK. 
====================================================================== 
http://bugs.digium.com/view.php?id=13566 
====================================================================== 
Reported By:                igorcarneiro
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   13566
Category:                   Resources/res_musiconhold
Reproducibility:            sometimes
Severity:                   crash
Priority:                   normal
Status:                     feedback
Asterisk Version:           1.6.0-rc6 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             2008-09-26 13:41 CDT
Last Modified:              2008-09-30 19:25 CDT
====================================================================== 
Summary:                    ast_moh_free_class in   res_musiconhold.c:195
Description: 
Segment Fault on asterisk

the back trace is:
gdb /usr/sbin/asterisk /tmp/core.9128
------------------------------------------------------------------------------
Core was generated by `/usr/sbin/asterisk -f -U asterisk -G asterisk -vvvg
-c'.
Program terminated with signal 11, Segmentation fault.
http://bugs.digium.com/view.php?id=0  0x0016cd17 in ast_moh_free_class
(mohclass=0xb7620068) at
res_musiconhold.c:195
195             while ((member = AST_LIST_REMOVE_HEAD(&class->members,
list)))
------------------------------------------------------------------------------





the function with problema is ast_moh_free_class
 
section res_musiconhold.c:195
------------------------------------------------------------------------------
static void ast_moh_free_class(struct mohclass **mohclass)
{
        struct mohdata *member;
        struct mohclass *class = *mohclass;
        int i;

        while ((member = AST_LIST_REMOVE_HEAD(&class->members, list)))
                ast_free(member);

        if (class->thread) {
                pthread_cancel(class->thread);
                class->thread = 0;
        }

        if (class->filearray) {
                for (i = 0; i < class->total_files; i++)
                        ast_free(class->filearray[i]);
                ast_free(class->filearray);
        }

        ast_free(class);
        *mohclass = NULL;
}
------------------------------------------------------------------------------



====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2008-09-30 19:25 seanbright     Status                   new => feedback     
======================================================================




More information about the asterisk-bugs mailing list