diff options
author | martinm <martinm@f5534014-38df-0310-8fa8-9805f1628bb7> | 2011-09-21 16:45:03 +0000 |
---|---|---|
committer | martinm <martinm@f5534014-38df-0310-8fa8-9805f1628bb7> | 2011-09-21 16:45:03 +0000 |
commit | 77eefb880cb64c47c049e3194f5eae94d82e8fdb (patch) | |
tree | fdcf6a396f0316f4feefe1573b803bbcd50d8d9a | |
parent | b0a007d51310be24ace0f96e1987e5871c414ea4 (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.c | 7 |
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; |