Summary: | ASTERISK-16587: Crash in ast_frame_free | ||
Reporter: | Sean Bright (seanbright) | Labels: | |
Date Opened: | 2010-08-18 09:36:38 | Date Closed: | 2010-09-21 14:50:47 |
Priority: | Critical | Regression? | No |
Status: | Closed/Complete | Components: | 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 |