Docsis: fix an infinite loop

Add missing decrement of concatlen based on master-2.2 version.

Bug: 14080
Change-Id: I00f7e34f8e599718316a4ce8916d91b780ec7c14
Reviewed-on: https://code.wireshark.org/review/23663
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
This commit is contained in:
Pascal Quantin 2017-09-23 22:22:28 +02:00 committed by Michael Mann
parent 194d30badf
commit 625bab309d
1 changed files with 14 additions and 0 deletions

View File

@ -697,6 +697,13 @@ dissect_docsis (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree, void* da
/* Pass off to the DOCSIS Management dissector/s */
mgt_tvb = tvb_new_subset_remaining(tvb, hdrlen);
call_dissector (docsis_mgmt_handle, mgt_tvb, pinfo, docsis_tree);
if (concatlen > 0)
{
concatlen = concatlen - framelen;
concatpos += framelen;
}
break;
}
case FCPARM_RQST_FRM:
@ -776,6 +783,13 @@ dissect_docsis (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree, void* da
proto_tree_add_checksum(docsis_tree, tvb, (hdrlen + len_sid - 4), hf_docsis_frag_fcs, hf_docsis_frag_fcs_status, &ei_docsis_frag_fcs_bad, pinfo, fcs, ENC_BIG_ENDIAN, PROTO_CHECKSUM_VERIFY);
pinfo->fragmented = save_fragmented;
if (concatlen > 0)
{
concatlen = concatlen - framelen;
concatpos += framelen;
}
break;
}
case FCPARM_QUEUE_DEPTH_REQ_FRM: