Merged revisions 233100 via svnmerge from

https://origsvn.digium.com/svn/asterisk/trunk

................
  r233100 | russell | 2009-12-04 11:18:22 -0600 (Fri, 04 Dec 2009) | 14 lines
  
  Merged revisions 233092 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r233092 | russell | 2009-12-04 11:12:47 -0600 (Fri, 04 Dec 2009) | 7 lines
    
    Only do frame payload check for HOLD frames.
    
    This code was added for helping to debug the source of invalid HOLD frames.
    However, a side effect of this is that it will incorrectly report errors for
    frames that have an integer payload.  Make the check for this block specific
    to the HOLD frame case.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@233112 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.0
Russell Bryant 16 years ago
parent 7261fde74b
commit 8041c006fd

@ -3018,14 +3018,14 @@ static struct ast_frame *__ast_read(struct ast_channel *chan, int dropaudio)
ast_frame_dump(chan->name, f, "<<");
chan->fin = FRAMECOUNT_INC(chan->fin);
if (f && f->datalen == 0 && f->data) {
if (f && f->frametype == AST_FRAME_CONTROL && f->subclass == AST_CONTROL_HOLD && f->datalen == 0 && f->data) {
/* fix invalid pointer */
f->data = NULL;
#ifdef AST_DEVMODE
ast_log(LOG_ERROR, "Found frame with src '%s' on channel '%s' with datalen zero, but non-null data pointer!\n", f->src, chan->name);
ast_log(LOG_ERROR, "Found HOLD frame with src '%s' on channel '%s' with datalen zero, but non-null data pointer!\n", f->src, chan->name);
ast_frame_dump(chan->name, f, "<<");
#else
ast_debug(3, "Found frame with src '%s' on channel '%s' with datalen zero, but non-null data pointer!\n", f->src, chan->name);
ast_debug(3, "Found HOLD frame with src '%s' on channel '%s' with datalen zero, but non-null data pointer!\n", f->src, chan->name);
#endif
}

Loading…
Cancel
Save