ZigBee: Fix reassembly of APS fragments.

The unsigned variable num_blocks was initialized to -1. Which caused the
dissector to set the total length to 4294967295 fragments when the second
fragment was processed. This made the dissector unable to reassemble data
made of more than two fragments.

Change-Id: I120af090ed29ac73a1fa699bea2bfc91798ef92b
Reviewed-on: https://code.wireshark.org/review/17712
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
This commit is contained in:
Kenneth Soerensen 2016-09-15 20:46:37 +02:00 committed by Anders Broman
parent 663031e4a8
commit e4aa7be949
1 changed files with 2 additions and 1 deletions

View File

@ -999,7 +999,7 @@ dissect_zbee_aps_no_endpt:
if ((payload_tvb) && (packet.fragmentation != ZBEE_APS_EXT_FCF_FRAGMENT_NONE)) {
guint32 msg_id;
guint32 block_num;
guint32 num_blocks = -1;
guint32 num_blocks;
fragment_head *frag_msg = NULL;
tvbuff_t *new_tvb;
@ -1022,6 +1022,7 @@ dissect_zbee_aps_no_endpt:
}
else {
block_num = packet.block_number;
num_blocks = 0;
}
/* Add this fragment to the reassembly handler. */