[svn-commits] russell: branch 1.4 r233092 - /branches/1.4/main/channel.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Fri Dec 4 11:12:50 CST 2009


Author: russell
Date: Fri Dec  4 11:12:47 2009
New Revision: 233092

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=233092
Log:
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.

Modified:
    branches/1.4/main/channel.c

Modified: branches/1.4/main/channel.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.4/main/channel.c?view=diff&rev=233092&r1=233091&r2=233092
==============================================================================
--- branches/1.4/main/channel.c (original)
+++ branches/1.4/main/channel.c Fri Dec  4 11:12:47 2009
@@ -2513,15 +2513,15 @@
 		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
 		if (option_debug > 2) {
-			ast_log(LOG_DEBUG, "Found frame with src '%s' on channel '%s' with datalen zero, but non-null data pointer!\n", f->src, chan->name);
+			ast_log(LOG_DEBUG, "Found HOLD frame with src '%s' on channel '%s' with datalen zero, but non-null data pointer!\n", f->src, chan->name);
 		}
 #endif
 	}




More information about the svn-commits mailing list