This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
pespin gerrit-no-reply at lists.osmocom.orgpespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17086 ) Change subject: Check return code of rlcmac decode/encode functions ...................................................................... Check return code of rlcmac decode/encode functions Change-Id: Iabcb768bd714680aa768b35c786dea2015d1e451 --- M src/pdch.cpp M src/tbf.cpp M tests/rlcmac/RLCMACTest.cpp M tests/rlcmac/RLCMACTest.ok M tests/tbf/TbfTest.cpp 5 files changed, 115 insertions(+), 70 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/pdch.cpp b/src/pdch.cpp index e15af2c..f4544b2 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -175,8 +175,11 @@ struct msgb *gprs_rlcmac_pdch::packet_paging_request() { struct gprs_rlcmac_paging *pag; + RlcMacDownlink_t *mac_control_block; + bitvec *pag_vec; struct msgb *msg; unsigned wp = 0, len; + int rc; /* no paging, no message */ pag = dequeue_paging(); @@ -191,7 +194,7 @@ talloc_free(pag); return NULL; } - bitvec *pag_vec = bitvec_alloc(23, tall_pcu_ctx); + pag_vec = bitvec_alloc(23, tall_pcu_ctx); if (!pag_vec) { msgb_free(msg); talloc_free(pag); @@ -240,15 +243,23 @@ } bitvec_pack(pag_vec, msgb_put(msg, 23)); - RlcMacDownlink_t * mac_control_block = (RlcMacDownlink_t *)talloc_zero(tall_pcu_ctx, RlcMacDownlink_t); + mac_control_block = (RlcMacDownlink_t *)talloc_zero(tall_pcu_ctx, RlcMacDownlink_t); LOGP(DRLCMAC, LOGL_DEBUG, "+++++++++++++++++++++++++ TX : Packet Paging Request +++++++++++++++++++++++++\n"); - decode_gsm_rlcmac_downlink(pag_vec, mac_control_block); - LOGPC(DCSN1, LOGL_NOTICE, "\n"); + rc = decode_gsm_rlcmac_downlink(pag_vec, mac_control_block); + if (rc < 0) { + LOGP(DRLCMAC, LOGL_ERROR, "Decoding of Downlink Packet Paging Request failed (%d)\n", rc); + goto free_ret; + } LOGP(DRLCMAC, LOGL_DEBUG, "------------------------- TX : Packet Paging Request -------------------------\n"); bitvec_free(pag_vec); talloc_free(mac_control_block); - return msg; + +free_ret: + bitvec_free(pag_vec); + talloc_free(mac_control_block); + msgb_free(msg); + return NULL; } bool gprs_rlcmac_pdch::add_paging(uint8_t chan_needed, const uint8_t *mi, uint8_t mi_len) @@ -686,6 +697,7 @@ bitvec *rlc_block; RlcMacUplink_t *ul_control_block; unsigned len = cs.maxBytesUL(); + int rc; if (!(rlc_block = bitvec_alloc(len, tall_pcu_ctx))) return -ENOMEM; @@ -693,8 +705,12 @@ ul_control_block = (RlcMacUplink_t *)talloc_zero(tall_pcu_ctx, RlcMacUplink_t); LOGP(DRLCMAC, LOGL_DEBUG, "+++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++\n"); - decode_gsm_rlcmac_uplink(rlc_block, ul_control_block); - LOGPC(DCSN1, LOGL_NOTICE, "\n"); + 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); + goto free_ret; + } LOGP(DRLCMAC, LOGL_DEBUG, "------------------------- RX : Uplink Control Block -------------------------\n"); if (ul_control_block->u.MESSAGE_TYPE == MT_PACKET_UPLINK_DUMMY_CONTROL_BLOCK) @@ -728,9 +744,10 @@ "RX: [PCU <- BTS] unknown control block(%d) received\n", ul_control_block->u.MESSAGE_TYPE); } +free_ret: talloc_free(ul_control_block); bitvec_free(rlc_block); - return 1; + return rc; } /* received RLC/MAC block from L1 */ diff --git a/src/tbf.cpp b/src/tbf.cpp index 61d8d58..b852cd2 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -1201,6 +1201,8 @@ { struct msgb *msg; struct gprs_rlcmac_dl_tbf *new_dl_tbf = NULL; + RlcMacDownlink_t *mac_control_block = NULL; + bitvec *ass_vec = NULL; int poll_ass_dl = 1; unsigned int rrbp = 0; uint32_t new_poll_fn = 0; @@ -1264,27 +1266,26 @@ msg = msgb_alloc(23, "rlcmac_dl_ass"); if (!msg) return NULL; - bitvec *ass_vec = bitvec_alloc(23, tall_pcu_ctx); - if (!ass_vec) { - msgb_free(msg); - return NULL; - } + ass_vec = bitvec_alloc(23, tall_pcu_ctx); + if (!ass_vec) + goto free_ret; bitvec_unhex(ass_vec, DUMMY_VEC); LOGPTBF(new_dl_tbf, LOGL_INFO, "start Packet Downlink Assignment (PACCH)\n"); - RlcMacDownlink_t * mac_control_block = (RlcMacDownlink_t *)talloc_zero(tall_pcu_ctx, RlcMacDownlink_t); + mac_control_block = (RlcMacDownlink_t *)talloc_zero(tall_pcu_ctx, RlcMacDownlink_t); Encoding::write_packet_downlink_assignment(mac_control_block, old_tfi_is_valid, m_tfi, (direction == GPRS_RLCMAC_DL_TBF), new_dl_tbf, poll_ass_dl, rrbp, bts_data()->alpha, bts_data()->gamma, -1, 0, is_egprs_enabled()); LOGP(DTBF, LOGL_DEBUG, "+++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++\n"); - encode_gsm_rlcmac_downlink(ass_vec, mac_control_block); - LOGPC(DCSN1, LOGL_NOTICE, "\n"); + rc = encode_gsm_rlcmac_downlink(ass_vec, mac_control_block); + if (rc < 0) { + LOGP(DTBF, LOGL_ERROR, "Decoding of Packet Downlink Ass failed (%d)\n", rc); + goto free_ret; + } LOGP(DTBF, LOGL_DEBUG, "------------------------- TX : Packet Downlink Assignment -------------------------\n"); bts->pkt_dl_assignemnt(); bitvec_pack(ass_vec, msgb_put(msg, 23)); - bitvec_free(ass_vec); - talloc_free(mac_control_block); if (poll_ass_dl) { set_polling(new_poll_fn, ts, GPRS_RLCMAC_POLL_DL_ASS); @@ -1297,7 +1298,15 @@ } + bitvec_free(ass_vec); + talloc_free(mac_control_block); return msg; + +free_ret: + bitvec_free(ass_vec); + talloc_free(mac_control_block); + msgb_free(msg); + return NULL; } struct msgb *gprs_rlcmac_tbf::create_packet_access_reject() @@ -1330,8 +1339,10 @@ struct msgb *gprs_rlcmac_tbf::create_ul_ass(uint32_t fn, uint8_t ts) { - struct msgb *msg; + struct msgb *msg = NULL; struct gprs_rlcmac_ul_tbf *new_tbf = NULL; + RlcMacDownlink_t *mac_control_block = NULL; + bitvec *ass_vec = NULL; int rc; unsigned int rrbp; uint32_t new_poll_fn; @@ -1360,29 +1371,37 @@ if (!msg) return NULL; LOGPTBF(new_tbf, LOGL_INFO, "start Packet Uplink Assignment (PACCH)\n"); - bitvec *ass_vec = bitvec_alloc(23, tall_pcu_ctx); - if (!ass_vec) { - msgb_free(msg); - return NULL; - } + ass_vec = bitvec_alloc(23, tall_pcu_ctx); + if (!ass_vec) + goto free_ret; bitvec_unhex(ass_vec, DUMMY_VEC); Encoding::write_packet_uplink_assignment(ass_vec, m_tfi, (direction == GPRS_RLCMAC_DL_TBF), tlli(), is_tlli_valid(), new_tbf, 1, rrbp, bts_data()->alpha, bts_data()->gamma, -1, is_egprs_enabled()); bitvec_pack(ass_vec, msgb_put(msg, 23)); - RlcMacDownlink_t * mac_control_block = (RlcMacDownlink_t *)talloc_zero(tall_pcu_ctx, RlcMacDownlink_t); + + mac_control_block = (RlcMacDownlink_t *)talloc_zero(tall_pcu_ctx, RlcMacDownlink_t); LOGP(DTBF, LOGL_DEBUG, "+++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++\n"); - decode_gsm_rlcmac_downlink(ass_vec, mac_control_block); - LOGPC(DCSN1, LOGL_NOTICE, "\n"); + rc = decode_gsm_rlcmac_downlink(ass_vec, mac_control_block); + if (rc < 0) { + LOGP(DTBF, LOGL_ERROR, "Decoding of Packet Uplink Ass failed (%d)\n", rc); + goto free_ret; + } LOGP(DTBF, LOGL_DEBUG, "------------------------- TX : Packet Uplink Assignment -------------------------\n"); bts->pkt_ul_assignment(); - bitvec_free(ass_vec); - talloc_free(mac_control_block); set_polling(new_poll_fn, ts, GPRS_RLCMAC_POLL_UL_ASS); + bitvec_free(ass_vec); + talloc_free(mac_control_block); return msg; + +free_ret: + bitvec_free(ass_vec); + talloc_free(mac_control_block); + msgb_free(msg); + return NULL; } void gprs_rlcmac_tbf::free_all(struct gprs_rlcmac_trx *trx) diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp index f911b09..04c06cf 100644 --- a/tests/rlcmac/RLCMACTest.cpp +++ b/tests/rlcmac/RLCMACTest.cpp @@ -93,6 +93,8 @@ void testRlcMacDownlink(void *test_ctx) { printf("*** %s ***\n", __func__); + + int rc; struct bitvec *resultVector = bitvec_alloc(23, test_ctx); bitvec_unhex(resultVector, DUMMY_VEC); @@ -121,11 +123,11 @@ RlcMacDownlink_t data; memset(&data, 0, sizeof(data)); cout << "=========Start DECODE===========" << endl; - decode_gsm_rlcmac_downlink(vector, &data); - cout << "+++++++++Finish DECODE++++++++++" << endl; + rc = decode_gsm_rlcmac_downlink(vector, &data); + cout << "+++++++++Finish DECODE ("<< rc <<")++++++++++" << endl; cout << "=========Start ENCODE=============" << endl; - encode_gsm_rlcmac_downlink(resultVector, &data); - cout << "+++++++++Finish ENCODE+++++++++++" << endl; + rc = encode_gsm_rlcmac_downlink(resultVector, &data); + cout << "+++++++++Finish ENCODE ("<< rc <<")+++++++++++" << endl; cout << "vector1 = " << osmo_hexdump(vector->data, 23) << endl; cout << "vector2 = " << osmo_hexdump(resultVector->data, 23) << endl; if (memcmp(vector->data, resultVector->data, 23) == 0) @@ -143,6 +145,8 @@ void testRlcMacUplink(void *test_ctx) { printf("*** %s ***\n", __func__); + + int rc; struct bitvec *resultVector = bitvec_alloc(23, test_ctx); bitvec_unhex(resultVector, DUMMY_VEC); @@ -167,11 +171,11 @@ RlcMacUplink_t data; memset(&data, 0, sizeof(data)); cout << "=========Start DECODE===========" << endl; - decode_gsm_rlcmac_uplink(vector, &data); - cout << "+++++++++Finish DECODE++++++++++" << endl; + rc = decode_gsm_rlcmac_uplink(vector, &data); + cout << "+++++++++Finish DECODE ("<< rc << ")++++++++++" << endl; cout << "=========Start ENCODE=============" << endl; - encode_gsm_rlcmac_uplink(resultVector, &data); - cout << "+++++++++Finish ENCODE+++++++++++" << endl; + rc = encode_gsm_rlcmac_uplink(resultVector, &data); + cout << "+++++++++Finish ENCODE ("<< rc <<")+++++++++++" << endl; cout << "vector1 = " << osmo_hexdump(vector->data, 23) << endl; cout << "vector2 = " << osmo_hexdump(resultVector->data, 23) << endl; if (memcmp(vector->data, resultVector->data, 23) == 0) @@ -188,9 +192,11 @@ void testCsnLeftAlignedVarBmpBounds(void *test_ctx) { printf("*** %s ***\n", __func__); + struct msgb *m = msgb_alloc(80, "test"); static uint8_t exp[] = { 0x7f, 0xff, 0xff, 0xee, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; bitvec *vector = bitvec_alloc(23, test_ctx); + int rc; bitvec_unhex(vector, "40200bffd161003e0e519ffffffb800000000000000000"); RlcMacUplink_t data; @@ -198,7 +204,8 @@ EGPRS_AckNack_Desc_t *urbb = &data.u.Egprs_Packet_Downlink_Ack_Nack.EGPRS_AckNack.Desc; - decode_gsm_rlcmac_uplink(vector, &data); + rc = decode_gsm_rlcmac_uplink(vector, &data); + OSMO_ASSERT(rc == 0); memcpy(msgb_put(m, 13), urbb->URBB, 13); if (!msgb_eq_data_print(m, exp, 13)) diff --git a/tests/rlcmac/RLCMACTest.ok b/tests/rlcmac/RLCMACTest.ok index 5793d57..24ea4b7 100644 --- a/tests/rlcmac/RLCMACTest.ok +++ b/tests/rlcmac/RLCMACTest.ok @@ -2,81 +2,81 @@ DOWNLINK vector1 = 4e082500e3f1a81d080820800b2b2b2b2b2b2b2b2b2b2b =========Start DECODE=========== -+++++++++Finish DECODE++++++++++ ++++++++++Finish DECODE (0)++++++++++ =========Start ENCODE============= -+++++++++Finish ENCODE+++++++++++ ++++++++++Finish ENCODE (0)+++++++++++ vector1 = 4e 08 25 00 e3 f1 a8 1d 08 08 20 80 0b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b vector2 = 4e 08 25 00 e3 f1 a8 1d 08 08 20 80 0b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b vector1 == vector2 : TRUE vector1 = 48282407a6a07422720100032b2b2b2b2b2b2b2b2b2b2b =========Start DECODE=========== -+++++++++Finish DECODE++++++++++ ++++++++++Finish DECODE (0)++++++++++ =========Start ENCODE============= -+++++++++Finish ENCODE+++++++++++ ++++++++++Finish ENCODE (0)+++++++++++ vector1 = 48 28 24 07 a6 a0 74 22 72 01 00 03 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b vector2 = 48 28 24 07 a6 a0 74 22 72 01 00 03 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b vector1 == vector2 : TRUE vector1 = 47240c00400000000000000079eb2ac9402b2b2b2b2b2b =========Start DECODE=========== -+++++++++Finish DECODE++++++++++ ++++++++++Finish DECODE (0)++++++++++ =========Start ENCODE============= -+++++++++Finish ENCODE+++++++++++ ++++++++++Finish ENCODE (0)+++++++++++ vector1 = 47 24 0c 00 40 00 00 00 00 00 00 00 79 eb 2a c9 40 2b 2b 2b 2b 2b 2b vector2 = 47 24 0c 00 40 00 00 00 00 00 00 00 79 eb 2a c9 40 2b 2b 2b 2b 2b 2b vector1 == vector2 : TRUE vector1 = 47283c367513ba333004242b2b2b2b2b2b2b2b2b2b2b2b =========Start DECODE=========== -+++++++++Finish DECODE++++++++++ ++++++++++Finish DECODE (0)++++++++++ =========Start ENCODE============= -+++++++++Finish ENCODE+++++++++++ ++++++++++Finish ENCODE (0)+++++++++++ vector1 = 47 28 3c 36 75 13 ba 33 30 04 24 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b vector2 = 47 28 3c 36 75 13 ba 33 30 04 24 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b vector1 == vector2 : TRUE vector1 = 400820001a3904df0680efb3300b2b2b2b2b2b2b2b2b2b =========Start DECODE=========== -+++++++++Finish DECODE++++++++++ ++++++++++Finish DECODE (0)++++++++++ =========Start ENCODE============= -+++++++++Finish ENCODE+++++++++++ ++++++++++Finish ENCODE (0)+++++++++++ vector1 = 40 08 20 00 1a 39 04 df 06 80 ef b3 30 0b 2b 2b 2b 2b 2b 2b 2b 2b 2b vector2 = 40 08 20 00 1a 39 04 df 06 80 ef b3 30 0b 2b 2b 2b 2b 2b 2b 2b 2b 2b vector1 == vector2 : TRUE vector1 = 40284f0000001009810c826f4406809dcecb2b2b2b2b2b =========Start DECODE=========== -+++++++++Finish DECODE++++++++++ ++++++++++Finish DECODE (0)++++++++++ =========Start ENCODE============= -+++++++++Finish ENCODE+++++++++++ ++++++++++Finish ENCODE (0)+++++++++++ vector1 = 40 28 4f 00 00 00 10 09 81 0c 82 6f 44 06 80 9d ce cb 2b 2b 2b 2b 2b vector2 = 40 28 4f 00 00 00 10 09 81 0c 82 6f 44 06 80 9d ce cb 2b 2b 2b 2b 2b vector1 == vector2 : TRUE vector1 = 4024030f2f0000000087b0042b2b2b2b2b2b2b2b2b2b2b =========Start DECODE=========== -+++++++++Finish DECODE++++++++++ ++++++++++Finish DECODE (0)++++++++++ =========Start ENCODE============= -+++++++++Finish ENCODE+++++++++++ ++++++++++Finish ENCODE (0)+++++++++++ vector1 = 40 24 03 0f 2f 00 00 00 00 87 b0 04 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b vector2 = 40 24 03 0f 2f 00 00 00 00 87 b0 04 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b vector1 == vector2 : TRUE vector1 = 4913e00850884013a8048b2b2b2b2b2b2b2b2b2b2b2b2b =========Start DECODE=========== -+++++++++Finish DECODE++++++++++ ++++++++++Finish DECODE (0)++++++++++ =========Start ENCODE============= -+++++++++Finish ENCODE+++++++++++ ++++++++++Finish ENCODE (0)+++++++++++ vector1 = 49 13 e0 08 50 88 40 13 a8 04 8b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b vector2 = 49 13 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b vector1 == vector2 : FALSE vector1 = 412430007fffffffffffffffefd19c7ba12b2b2b2b2b2b =========Start DECODE=========== -+++++++++Finish DECODE++++++++++ ++++++++++Finish DECODE (0)++++++++++ =========Start ENCODE============= -+++++++++Finish ENCODE+++++++++++ ++++++++++Finish ENCODE (0)+++++++++++ vector1 = 41 24 30 00 7f ff ff ff ff ff ff ff ef d1 9c 7b a1 2b 2b 2b 2b 2b 2b vector2 = 41 24 30 00 7f ff ff ff ff ff ff ff ef d1 9c 7b a1 2b 2b 2b 2b 2b 2b vector1 == vector2 : TRUE vector1 = 41942b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b =========Start DECODE=========== -+++++++++Finish DECODE++++++++++ ++++++++++Finish DECODE (0)++++++++++ =========Start ENCODE============= -+++++++++Finish ENCODE+++++++++++ ++++++++++Finish ENCODE (0)+++++++++++ vector1 = 41 94 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b vector2 = 41 94 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b vector1 == vector2 : TRUE @@ -84,41 +84,41 @@ UPLINK vector1 = 400e1e61d11d2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b =========Start DECODE=========== -+++++++++Finish DECODE++++++++++ ++++++++++Finish DECODE (0)++++++++++ =========Start ENCODE============= -+++++++++Finish ENCODE+++++++++++ ++++++++++Finish ENCODE (0)+++++++++++ vector1 = 40 0e 1e 61 d1 1d 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b vector2 = 40 0e 1e 61 d1 1d 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b vector1 == vector2 : TRUE vector1 = 400b8020000000000000002480e0032b2b2b2b2b2b2b2b =========Start DECODE=========== -+++++++++Finish DECODE++++++++++ ++++++++++Finish DECODE (0)++++++++++ =========Start ENCODE============= -+++++++++Finish ENCODE+++++++++++ ++++++++++Finish ENCODE (0)+++++++++++ vector1 = 40 0b 80 20 00 00 00 00 00 00 00 24 80 e0 03 2b 2b 2b 2b 2b 2b 2b 2b vector2 = 40 0b 80 20 00 00 00 00 00 00 00 24 80 e0 03 2b 2b 2b 2b 2b 2b 2b 2b vector1 == vector2 : TRUE vector1 = 4016713dc094270ca2ae57ef909006aa0fc0001f80222b =========Start DECODE=========== -+++++++++Finish DECODE++++++++++ ++++++++++Finish DECODE (0)++++++++++ =========Start ENCODE============= -+++++++++Finish ENCODE+++++++++++ ++++++++++Finish ENCODE (0)+++++++++++ vector1 = 40 16 71 3d c0 94 27 0c a2 ae 57 ef 90 90 06 aa 0f c0 00 1f 80 22 2b vector2 = 40 16 71 3d c0 94 27 0c a2 ae 57 ef 90 90 06 aa 0f c0 00 1f 80 22 2b vector1 == vector2 : TRUE vector1 = 40200ffc0021ec010b2b2b2b2b2b2b2b2b2b2b2b2b2b2b =========Start DECODE=========== -+++++++++Finish DECODE++++++++++ ++++++++++Finish DECODE (0)++++++++++ =========Start ENCODE============= -+++++++++Finish ENCODE+++++++++++ ++++++++++Finish ENCODE (0)+++++++++++ vector1 = 40 20 0f fc 00 21 ec 01 0b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b vector2 = 40 20 0f fc 00 21 ec 01 0b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b vector1 == vector2 : TRUE vector1 = 400a9020000000000000003010012a0800132b2b2b2b2b =========Start DECODE=========== -+++++++++Finish DECODE++++++++++ ++++++++++Finish DECODE (0)++++++++++ =========Start ENCODE============= -+++++++++Finish ENCODE+++++++++++ ++++++++++Finish ENCODE (0)+++++++++++ vector1 = 40 0a 90 20 00 00 00 00 00 00 00 30 10 01 2a 08 00 13 2b 2b 2b 2b 2b vector2 = 40 0a 90 20 00 00 00 00 00 00 00 30 10 01 2a 08 00 13 2b 2b 2b 2b 2b vector1 == vector2 : TRUE diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index bdbc138..5edb544 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -615,7 +615,7 @@ rlc_block = bitvec_alloc(23, tall_pcu_ctx); - encode_gsm_rlcmac_uplink(rlc_block, ulreq); + OSMO_ASSERT(encode_gsm_rlcmac_uplink(rlc_block, ulreq) == 0); num_bytes = bitvec_pack(rlc_block, &buf[0]); OSMO_ASSERT(size_t(num_bytes) < sizeof(buf)); bitvec_free(rlc_block); @@ -2511,6 +2511,7 @@ RlcMacUplink_t ul_control_block; gprs_rlc_v_b *prlcmvb; gprs_rlc_dl_window *prlcdlwindow; + int rc; memset(&ul_control_block, 0, sizeof(RlcMacUplink_t)); @@ -2557,7 +2558,8 @@ bits.data_len = sizeof(bits_data); bits.cur_bit = 0; - decode_gsm_rlcmac_uplink(block, &ul_control_block); + rc = decode_gsm_rlcmac_uplink(block, &ul_control_block); + OSMO_ASSERT(rc == 0); ack_nack = &ul_control_block.u.Egprs_Packet_Downlink_Ack_Nack; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17086 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iabcb768bd714680aa768b35c786dea2015d1e451 Gerrit-Change-Number: 17086 Gerrit-PatchSet: 3 Gerrit-Owner: pespin <pespin at sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <axilirator at gmail.com> Gerrit-Reviewer: pespin <pespin at sysmocom.de> Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200206/2b813721/attachment.htm>