From Roland Knall:
authorAnders Broman <anders.broman@ericsson.com>
Mon, 6 Jun 2011 10:32:19 +0000 (10:32 -0000)
committerAnders Broman <anders.broman@ericsson.com>
Mon, 6 Jun 2011 10:32:19 +0000 (10:32 -0000)
Modbus/TCP: Calculating the drop-out criteria for special data dissection fails.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5997

svn path=/trunk/; revision=37566

epan/dissectors/packet-mbtcp.c

index c3e4c0021d710d17c47b8c9ec770dfd5e2002674..b27c58ae449d310a64e79017cf804f56f5e684d8 100644 (file)
@@ -403,7 +403,10 @@ dissect_mbtcp_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint8 f
 
     reported_len = tvb_reported_length_remaining(tvb, payload_start);
 
-    if ( ( payload_start + payload_len ) > reported_len ) {
+       if ( payload_start < 0 || ( payload_len + payload_start ) == 0 )
+               return;
+
+       if ( payload_len != reported_len ) {
         proto_tree_add_bytes_format(tree, hf_modbus_data, tvb, payload_start, payload_len, NULL, "Data");
         return;
     }