aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>2011-11-19 22:57:13 +0000
committerguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>2011-11-19 22:57:13 +0000
commit35594991aa554a329ab10d2ea5f2029159bc1f95 (patch)
tree07f1c7b63bed1780610b1d3b0fc9bf6036ee4a16 /epan
parent56f120d22b75b0547198d3a07d44920c3af3d8a9 (diff)
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
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-sip.c6
1 files changed, 2 insertions, 4 deletions
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;