From 35594991aa554a329ab10d2ea5f2029159bc1f95 Mon Sep 17 00:00:00 2001 From: guy Date: Sat, 19 Nov 2011 22:57:13 +0000 Subject: The URI parameter parser always has to advance current_offset in the loop, otherwise you get stuck in an infinite loop. (Where in RFC 3261 does it mention the use of commas in URI parameters?) Should fix bug 6598. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@39952 f5534014-38df-0310-8fa8-9805f1628bb7 --- epan/dissectors/packet-sip.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'epan/dissectors/packet-sip.c') diff --git a/epan/dissectors/packet-sip.c b/epan/dissectors/packet-sip.c index 87ab4789ec..5cf18d3643 100644 --- a/epan/dissectors/packet-sip.c +++ b/epan/dissectors/packet-sip.c @@ -1423,15 +1423,13 @@ display_sip_uri (tvbuff_t *tvb, proto_tree *sip_element_tree, uri_offset_info* u if (c == '>') { uri_param_end_offset = uri_offsets->name_addr_end - 1; - current_offset = uri_offsets->name_addr_end; - } else { uri_param_end_offset = uri_offsets->name_addr_end; - current_offset = uri_offsets->name_addr_end; } + current_offset = uri_offsets->name_addr_end; } else if (c==',') { uri_param_end_offset = queried_offset; - current_offset = queried_offset; + current_offset = queried_offset+1; /* must move forward */ } else if (c==';') { /* More parameters */ uri_param_end_offset = queried_offset-1; -- cgit v1.2.3