epl: Reassembly table fix

Fixed an error that retransmitted frames were added to the
 reassembly table.

Change-Id: I314412cb8f2ce49142e4b7f001613948f5e03bf6
Reviewed-on: https://code.wireshark.org/review/4916
Reviewed-by: Roland Knall <rknall@gmail.com>
Reviewed-by: Lukas Emersberger <lukas.emersberger@gmail.com>
Reviewed-by: Michael Mann <mmann78@netscape.net>
This commit is contained in:
Lukas Emersberger 2014-10-23 09:13:39 +02:00 committed by Michael Mann
parent 72c70b6abe
commit b5dead8e60
1 changed files with 6 additions and 3 deletions

View File

@ -2676,16 +2676,19 @@ dissect_epl_sdo_command_write_by_index(proto_tree *epl_tree, tvbuff_t *tvb, pack
/* save the current frame and increase the counter */
epl_asnd_sdo_reassembly_write.frame[epl_segmentation.recv][epl_segmentation.send] = frame;
ct += 1;
/* add the frame to reassembly_table */
frag_msg = fragment_add_seq_check(&epl_reassembly_table, tvb, offset, pinfo,
fragmentId, NULL, ct, payload_length, end_segment ? FALSE : TRUE );
}
else if(epl_asnd_sdo_reassembly_write.frame[epl_segmentation.recv][epl_segmentation.send] == 0x00)
{
/* save the current frame and increase counter */
epl_asnd_sdo_reassembly_write.frame[epl_segmentation.recv][epl_segmentation.send] = frame;
ct += 1;
}
/* add the frame to reassembly_table */
frag_msg = fragment_add_seq_check(&epl_reassembly_table, tvb, offset, pinfo,
/* add the frame to reassembly_table */
frag_msg = fragment_add_seq_check(&epl_reassembly_table, tvb, offset, pinfo,
fragmentId, NULL, ct, payload_length, end_segment ? FALSE : TRUE );
}
/* if the reassembly_table is not Null and the frame stored is the same as the current frame */
if(frag_msg != NULL && (epl_asnd_sdo_reassembly_write.frame[epl_segmentation.recv][epl_segmentation.send] == frame))