SIP: heuristic dissectors should use the captured length, not the reported one

Otherwise it triggers a "packet size limited during capture" exception
preventing following heuristic dissectors to be called

Change-Id: Ifc97e84b4e40a1c7dc0b0c63b7b9e015bd99d178
Reviewed-on: https://code.wireshark.org/review/9774
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
This commit is contained in:
Pascal Quantin 2015-07-24 18:32:26 +02:00
parent efefdbbd76
commit 1ea256596f
1 changed files with 2 additions and 2 deletions

View File

@ -2576,7 +2576,7 @@ dissect_sip_tcp_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *
gboolean first = TRUE;
int remaining_length;
remaining_length = tvb_reported_length(tvb);
remaining_length = tvb_captured_length(tvb);
while (remaining_length > 0) {
len = dissect_sip_common(tvb, offset, remaining_length, pinfo, tree, !first, TRUE);
if (len == -2) {
@ -2602,7 +2602,7 @@ dissect_sip_tcp_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *
static gboolean
dissect_sip_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
{
int remaining_length = tvb_reported_length(tvb);
int remaining_length = tvb_captured_length(tvb);
return dissect_sip_common(tvb, 0, remaining_length, pinfo, tree, FALSE, FALSE) > 0;
}