aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Quantin <pascal@wireshark.org>2020-09-01 15:22:14 +0000
committerPascal Quantin <pascal@wireshark.org>2020-09-02 17:53:34 +0000
commit9d7ab8b46f9f91600b95f2e31d6f579aee20af46 (patch)
tree638129b9a8c78277caf32ad41a3c444b2721c95e
parent5803c7b87b3414cdb8bf502af50bb406ca774482 (diff)
downloadwireshark-9d7ab8b46f9f91600b95f2e31d6f579aee20af46.tar.gz
wireshark-9d7ab8b46f9f91600b95f2e31d6f579aee20af46.tar.bz2
wireshark-9d7ab8b46f9f91600b95f2e31d6f579aee20af46.zip
TCP: do not use an unknown status when the checksum is 0xffff
Otherwise it triggers an assert when adding the column as the field is defined as BASE_NONE and not BASE_DEC or BASE_HEX. Thus an unknown value (not in proto_checksum_vals[)array) cannot be represented. Mark the checksum as bad even if we process the packet. Closes #16816 Conflicts: epan/dissectors/packet-tcp.c (cherry picked from commit 7f3fe6164a68b76d9988c4253b24d43f498f1753)
-rw-r--r--epan/dissectors/packet-tcp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/epan/dissectors/packet-tcp.c b/epan/dissectors/packet-tcp.c
index 512454e471..bb12e0d963 100644
--- a/epan/dissectors/packet-tcp.c
+++ b/epan/dissectors/packet-tcp.c
@@ -6235,7 +6235,7 @@ dissect_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
PROTO_ITEM_SET_GENERATED(item);
/* XXX - What should this special status be? */
item = proto_tree_add_uint(checksum_tree, hf_tcp_checksum_status, tvb,
- offset + 16, 0, 4);
+ offset + 16, 0, PROTO_CHECKSUM_E_BAD);
PROTO_ITEM_SET_GENERATED(item);
expert_add_info(pinfo, item, &ei_tcp_checksum_ffff);