Ethereal-dev: [Ethereal-dev] Patch for rtp_analysis.c: delta_timestamp problem

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: "Alex Shnitman" <AlexS@xxxxxxxxxxxx>
Date: Tue, 18 Jul 2006 16:39:35 +0300
Hi,

I'm not subscribed to the list so please CC replies.

Below is a patch for a bug in rtp_analysis.c. The variable statinfo->delta_timestamp was not initialized in all the necessary cases. The function rtp_packet_save_payload uses this variable and the for loop on line 935 could use an old value and run an incorrect amount of times, e.g. a couple billion, which gets ethereal stuck. I can supply an example capture which causes it. The patch solves the problem.
 

--- gtk/rtp_analysis.c.old	2006-04-17 17:46:20.000000000 +0300
+++ gtk/rtp_analysis.c	2006-07-18 15:43:11.000000000 +0300
@@ -689,8 +689,8 @@
 	}
 	/* is it a packet with the mark bit set? */
 	if (rtpinfo->info_marker_set) {
+		statinfo->delta_timestamp = rtpinfo->info_timestamp - statinfo->timestamp;
 		if (rtpinfo->info_timestamp > statinfo->timestamp){
-			statinfo->delta_timestamp = rtpinfo->info_timestamp - statinfo->timestamp;
 			statinfo->flags |= STAT_FLAG_MARKER;
 		}
 		else{


-- 
Alex Shnitman
Software Engineer
Mango DSP Ltd.
02-5885041
 

_______________________________________________
Ethereal-dev mailing list
Ethereal-dev@xxxxxxxxxxxx
http://www.ethereal.com/mailman/listinfo/ethereal-dev