Alex Shnitman <AlexS@mangodsp.com>

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.

svn path=/trunk/; revision=18798
This commit is contained in:
Jörg Mayer 2006-07-27 14:19:10 +00:00
parent 912cfcd1da
commit 5c8bb9bca8
1 changed files with 1 additions and 1 deletions

View File

@ -690,8 +690,8 @@ int rtp_packet_analyse(tap_rtp_stat_t *statinfo,
}
/* 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{