aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormartinm <martinm@f5534014-38df-0310-8fa8-9805f1628bb7>2011-09-21 16:45:03 +0000
committermartinm <martinm@f5534014-38df-0310-8fa8-9805f1628bb7>2011-09-21 16:45:03 +0000
commit77eefb880cb64c47c049e3194f5eae94d82e8fdb (patch)
treefdcf6a396f0316f4feefe1573b803bbcd50d8d9a
parentb0a007d51310be24ace0f96e1987e5871c414ea4 (diff)
Report as expert/malformed if the same SN appears as ACK and NACK in same status PDU.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@39077 f5534014-38df-0310-8fa8-9805f1628bb7
-rw-r--r--epan/dissectors/packet-rlc-lte.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/epan/dissectors/packet-rlc-lte.c b/epan/dissectors/packet-rlc-lte.c
index 39144263e5..bf6f2107d4 100644
--- a/epan/dissectors/packet-rlc-lte.c
+++ b/epan/dissectors/packet-rlc-lte.c
@@ -1966,6 +1966,13 @@ static void dissect_rlc_lte_am_status_pdu(tvbuff_t *tvb,
bit_offset += 10;
write_pdu_label_and_info(top_ti, NULL, pinfo, " NACK_SN=%-4u", (guint16)nack_sn);
+ /* We shouldn't NACK the ACK_SN! */
+ if (nack_sn == ack_sn) {
+ expert_add_info_format(pinfo, nack_ti, PI_MALFORMED, PI_ERROR,
+ "Status PDU shouldn't ACK and NACK the same sequence number (%llu)",
+ ack_sn);
+ }
+
/* Copy into struct, but don't exceed buffer */
if (nack_count < MAX_NACKs) {
tap_info->NACKs[nack_count++] = (guint16)nack_sn;