32 lines
1.3 KiB
Diff
32 lines
1.3 KiB
Diff
From 7f3fe6164a68b76d9988c4253b24d43f498f1753 Mon Sep 17 00:00:00 2001
|
|
From: Pascal Quantin <pascal@wireshark.org>
|
|
Date: Tue, 1 Sep 2020 17:22:14 +0200
|
|
Subject: [PATCH] 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
|
|
|
|
---
|
|
epan/dissectors/packet-tcp.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/epan/dissectors/packet-tcp.c b/epan/dissectors/packet-tcp.c
|
|
index db8ef31639..fc83f665d1 100644
|
|
--- a/epan/dissectors/packet-tcp.c
|
|
+++ b/epan/dissectors/packet-tcp.c
|
|
@@ -6230,7 +6230,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);
|
|
|
|
--
|
|
GitLab
|
|
|