diff options
author | Pascal Quantin <pascal.quantin@gmail.com> | 2016-10-13 14:10:26 +0200 |
---|---|---|
committer | Pascal Quantin <pascal.quantin@gmail.com> | 2016-10-13 14:17:46 +0000 |
commit | 7ce85a92f95df8db0da85ce61c19de132c6914ea (patch) | |
tree | c9a2e82af53ed293946a4f7fe30bd83221a6b5d5 /epan/dissectors/packet-mac-lte.c | |
parent | 4f6ed3852dcba51ef19604a090ecfc91bc997940 (diff) |
MAC LTE: fix dissection of Extended PHR Control Element
It has the same value as the DL SC-MCCH/SC-MTCH CE, so take into account direction
Change-Id: I75848f92342cfc67f2e6aee1f8bc42616e662cdc
Reviewed-on: https://code.wireshark.org/review/18183
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-mac-lte.c')
-rw-r--r-- | epan/dissectors/packet-mac-lte.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/epan/dissectors/packet-mac-lte.c b/epan/dissectors/packet-mac-lte.c index 07c709ce1b..a15ec8a170 100644 --- a/epan/dissectors/packet-mac-lte.c +++ b/epan/dissectors/packet-mac-lte.c @@ -4296,14 +4296,13 @@ static void dissect_ulsch_or_dlsch(tvbuff_t *tvb, packet_info *pinfo, proto_tree have_seen_data_header = TRUE; expecting_body_data = TRUE; } - if (lcids[number_of_headers] == SC_MCCH_SC_MTCH_LCID) { + if ((p_mac_lte_info->direction == DIRECTION_DOWNLINK) && (lcids[number_of_headers] == SC_MCCH_SC_MTCH_LCID)) { have_seen_sc_mcch_sc_mtch_header = TRUE; } /* Show an expert item if a control subheader (except Padding) appears *after* a data PDU */ - if (have_seen_data_header && (lcids[number_of_headers] > 10) && - (lcids[number_of_headers] != PADDING_LCID) && (lcids[number_of_headers] != SC_MCCH_SC_MTCH_LCID)) { + if (have_seen_data_header && (lcids[number_of_headers] > 10) && (lcids[number_of_headers] != PADDING_LCID)) { expert_add_info_format(pinfo, lcid_ti, &ei_mac_lte_control_subheader_after_data_subheader, "%cL-SCH control subheaders should not appear after data subheaders", (p_mac_lte_info->direction == DIRECTION_UPLINK) ? 'U' : 'D'); @@ -4512,7 +4511,8 @@ static void dissect_ulsch_or_dlsch(tvbuff_t *tvb, packet_info *pinfo, proto_tree for (n=0; n < number_of_headers; n++) { /* Get out of loop once see any data SDU subheaders */ - if ((lcids[n] <= 10) || (lcids[n] == SC_MCCH_SC_MTCH_LCID)) { + if ((lcids[n] <= 10) || + ((p_mac_lte_info->direction == DIRECTION_DOWNLINK) && (lcids[n] == SC_MCCH_SC_MTCH_LCID))) { break; } |