diff options
author | Martin Mathieson <martin.r.mathieson@googlemail.com> | 2017-01-03 14:23:13 -0800 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2017-01-04 00:47:49 +0000 |
commit | ab286246dc22d446b7d149f23c231ba8dbd6b640 (patch) | |
tree | b72f2e0f55b600051bc44dd748255e6a3cb85672 | |
parent | 564051df5e818cf4c9ad6447adebe466da03ae61 (diff) |
Ensure that tcp.reassembled_in is added to the tree for first segment.
Bug: 3264
Change-Id: I9fa8cfaf1e21a8a984941ee40e2e404ae21e55c9
Reviewed-on: https://code.wireshark.org/review/19528
Petri-Dish: Martin Mathieson <martin.r.mathieson@googlemail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
-rw-r--r-- | epan/dissectors/packet-tcp.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/epan/dissectors/packet-tcp.c b/epan/dissectors/packet-tcp.c index 93a15bed5a..6fd413352c 100644 --- a/epan/dissectors/packet-tcp.c +++ b/epan/dissectors/packet-tcp.c @@ -2921,6 +2921,17 @@ again: /* TCP analysis already flags this (in COL_INFO) as a retransmission--if it's enabled */ } + /* Fix for bug 3264: look up ipfd for this (first) segment, + so can add tcp.reassembled_in generated field on this code path. */ + ipfd_head = fragment_get(&tcp_reassembly_table, pinfo, pinfo->num, NULL); + if (ipfd_head) { + if (ipfd_head->reassembled_in != 0) { + item = proto_tree_add_uint(tcp_tree, hf_tcp_reassembled_in, tvb, 0, + 0, ipfd_head->reassembled_in); + PROTO_ITEM_SET_GENERATED(item); + } + } + nbytes = tvb_reported_length_remaining(tvb, offset); proto_tree_add_bytes_format(tcp_tree, hf_tcp_segment_data, tvb, offset, @@ -2929,7 +2940,7 @@ again: return; } - /* The above code only finds retransmission if the PDU boundaries and the seq coinside I think + /* The above code only finds retransmission if the PDU boundaries and the seq coincide I think * If we have sequence analysis active use the TCP_A_RETRANSMISSION flag. * XXXX Could the above code be improved? */ |