diff options
author | Keith <keith@rhizomatica.org> | 2020-03-26 16:33:59 -0500 |
---|---|---|
committer | pespin <pespin@sysmocom.de> | 2020-03-26 23:32:49 +0000 |
commit | 2b6acd88732e5a3273d9f3ce84a76ebe035a4fd8 (patch) | |
tree | 720609d97016319dc0d8687f194e0f5f10d243f1 | |
parent | e5e2f747c35d6d02ad5f631fc99d959d1300b5fa (diff) |
Don't check ul_control_block before decoding into it.
This patch corrects an error introduced in
6fd8ffb6fe62586a6880780678cbee3d9f97e763
That commit allowed us to send the data over GSMTAP even
if the Uplink Control Block had invalid content,
that is to say, if decode_gsm_rlcmac_uplink() returned error.
However the check for ul_control_block->u.MESSAGE_TYPE
was place before decode_gsm_rlcmac_uplink()
Change-Id: Ic47602e5c6a13571b92c0a939fc3514110b82444
-rw-r--r-- | src/pdch.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/pdch.cpp b/src/pdch.cpp index 15050686..519028d4 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -706,12 +706,12 @@ int gprs_rlcmac_pdch::rcv_control_block(const uint8_t *data, uint8_t data_len, LOGP(DRLCMAC, LOGL_DEBUG, "+++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++\n"); + rc = decode_gsm_rlcmac_uplink(rlc_block, ul_control_block); if (ul_control_block->u.MESSAGE_TYPE == MT_PACKET_UPLINK_DUMMY_CONTROL_BLOCK) bts()->send_gsmtap(PCU_GSMTAP_C_UL_DUMMY, true, trx_no(), ts_no, GSMTAP_CHANNEL_PACCH, fn, data, data_len); else bts()->send_gsmtap(PCU_GSMTAP_C_UL_CTRL, true, trx_no(), ts_no, GSMTAP_CHANNEL_PACCH, fn, data, data_len); - rc = decode_gsm_rlcmac_uplink(rlc_block, ul_control_block); if(rc < 0) { LOGP(DRLCMACUL, LOGL_ERROR, "Dropping Uplink Control Block with invalid " "content, decode failed: %d)\n", rc); |