[Home]

Summary:ASTERISK-16587: Crash in ast_frame_free
Reporter:Sean Bright (seanbright)Labels:
Date Opened:2010-08-18 09:36:38Date Closed:2010-09-21 14:50:47
Priority:CriticalRegression?No
Status:Closed/CompleteComponents:PBX/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) backtrace.txt
Description:Backtrace attached.
Comments:By: Sean Bright (seanbright) 2010-08-18 09:51:10

So based on a quick glance at the code involved, it looks like if ast_frdup fails on channel.c:1021 then we call ast_frfree (ast_frame_free) on the head of the list.  This works fine unless the list is empty.

Apparently ast_frdup() will only return NULL in the event of a memory allocation failure, so there may be a bigger problem going on here.



By: Digium Subversion (svnbot) 2010-09-21 14:43:46

Repository: asterisk
Revision: 288005

U   branches/1.4/main/channel.c

------------------------------------------------------------------------
r288005 | bbryant | 2010-09-21 14:43:46 -0500 (Tue, 21 Sep 2010) | 8 lines

Add a check to fix a rare segmentation fault you'd get if ast_frdup couldn't allocate
memory on the first frame being queued in ast_queue_frame.

(closes issue ASTERISK-16587)
Reported by: seanbright
Tested by: seanbright


------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=288005

By: Digium Subversion (svnbot) 2010-09-21 14:46:21

Repository: asterisk
Revision: 288006

_U  branches/1.6.2/
U   branches/1.6.2/main/channel.c

------------------------------------------------------------------------
r288006 | bbryant | 2010-09-21 14:46:20 -0500 (Tue, 21 Sep 2010) | 14 lines

Merged revisions 288005 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
 r288005 | bbryant | 2010-09-21 15:43:46 -0400 (Tue, 21 Sep 2010) | 8 lines
 
 Add a check to fix a rare segmentation fault you'd get if ast_frdup couldn't allocate
 memory on the first frame being queued in ast_queue_frame.
 
 (closes issue ASTERISK-16587)
 Reported by: seanbright
 Tested by: seanbright
........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=288006

By: Digium Subversion (svnbot) 2010-09-21 14:48:53

Repository: asterisk
Revision: 288007

_U  branches/1.8/
U   branches/1.8/main/channel.c

------------------------------------------------------------------------
r288007 | bbryant | 2010-09-21 14:48:53 -0500 (Tue, 21 Sep 2010) | 21 lines

Merged revisions 288006 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
 r288006 | bbryant | 2010-09-21 15:46:20 -0400 (Tue, 21 Sep 2010) | 14 lines
 
 Merged revisions 288005 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4
 
 ........
   r288005 | bbryant | 2010-09-21 15:43:46 -0400 (Tue, 21 Sep 2010) | 8 lines
   
   Add a check to fix a rare segmentation fault you'd get if ast_frdup couldn't allocate
   memory on the first frame being queued in ast_queue_frame.
   
   (closes issue ASTERISK-16587)
   Reported by: seanbright
   Tested by: seanbright
 ........
................

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=288007

By: Digium Subversion (svnbot) 2010-09-21 14:50:47

Repository: asterisk
Revision: 288008

_U  trunk/
U   trunk/main/channel.c

------------------------------------------------------------------------
r288008 | bbryant | 2010-09-21 14:50:47 -0500 (Tue, 21 Sep 2010) | 28 lines

Merged revisions 288007 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
 r288007 | bbryant | 2010-09-21 15:48:53 -0400 (Tue, 21 Sep 2010) | 21 lines
 
 Merged revisions 288006 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.6.2
 
 ................
   r288006 | bbryant | 2010-09-21 15:46:20 -0400 (Tue, 21 Sep 2010) | 14 lines
   
   Merged revisions 288005 via svnmerge from
   https://origsvn.digium.com/svn/asterisk/branches/1.4
   
   ........
     r288005 | bbryant | 2010-09-21 15:43:46 -0400 (Tue, 21 Sep 2010) | 8 lines
     
     Add a check to fix a rare segmentation fault you'd get if ast_frdup couldn't allocate
     memory on the first frame being queued in ast_queue_frame.
     
     (closes issue ASTERISK-16587)
     Reported by: seanbright
     Tested by: seanbright
   ........
 ................
................

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=288008