Patch for rtp_analysis.c: delta_timestamp problem
"Alex Shnitman" <[email protected]> Tue, 18 Jul 2006 16:39:35 +0300
| Newsgroups | gmane.network.ethereal.devel |
|---|---|
| Message-ID | <265CBF1670611D47B47E67959D02EBE35A83E8@mngilex001.Jerusalem.mangodsp.com> |
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