Fix NULL check in DCI NR for RAR type

This commit is contained in:
Xavier Arteaga 2021-08-20 16:53:03 +02:00 committed by Xavier Arteaga
parent 3784359da5
commit 2cd5e98132
2 changed files with 16 additions and 8 deletions

View File

@ -277,7 +277,7 @@ SRSRAN_API int srsran_dci_nr_dl_unpack(const srsran_dci_nr_t* q, srsran_dci_msg_
/**
* @brief Packs an UL NR DCI into a DCI message
* @param q NR DCI object with precomputed DCI parameters
* @param q NR DCI object with precomputed DCI parameters (not required for RAR type, set to NULL)
* @param dci UL NR DCI to pack (serialize)
* @param[out] msg resultant DCI message
* @return SRSRAN_SUCCESS if provided arguments are valid, SRSRAN_ERROR code otherwise
@ -286,7 +286,7 @@ SRSRAN_API int srsran_dci_nr_ul_pack(const srsran_dci_nr_t* q, const srsran_dci_
/**
* @brief Unpacks an NR DCI message into an UL NR DCI
* @param q NR DCI object with precomputed DCI parameters
* @param q NR DCI object with precomputed DCI parameters (not required for RAR type, set to NULL)
* @param msg DCI message to unpack (deserialize)
* @param[out] dci Resultant unpacked UL DCI
* @return SRSRAN_SUCCESS if provided arguments are valid, SRSRAN_ERROR code otherwise

View File

@ -839,7 +839,7 @@ static uint32_t dci_nr_rar_sizeof()
return count;
}
static int dci_nr_rar_pack(const srsran_dci_nr_t* q, const srsran_dci_ul_nr_t* dci, srsran_dci_msg_nr_t* msg)
static int dci_nr_rar_pack(const srsran_dci_ul_nr_t* dci, srsran_dci_msg_nr_t* msg)
{
// Fields described by TS 38.213 Table 8.2-1: Random Access Response Grant Content field size
uint8_t* y = msg->payload;
@ -865,7 +865,7 @@ static int dci_nr_rar_pack(const srsran_dci_nr_t* q, const srsran_dci_ul_nr_t* d
return SRSRAN_SUCCESS;
}
static int dci_nr_rar_unpack(const srsran_dci_nr_t* q, srsran_dci_msg_nr_t* msg, srsran_dci_ul_nr_t* dci)
static int dci_nr_rar_unpack(srsran_dci_msg_nr_t* msg, srsran_dci_ul_nr_t* dci)
{
// Fields described by TS 38.213 Table 8.2-1: Random Access Response Grant Content field size
uint8_t* y = msg->payload;
@ -2006,7 +2006,11 @@ int srsran_dci_nr_dl_unpack(const srsran_dci_nr_t* q, srsran_dci_msg_nr_t* msg,
int srsran_dci_nr_ul_pack(const srsran_dci_nr_t* q, const srsran_dci_ul_nr_t* dci, srsran_dci_msg_nr_t* msg)
{
if (q == NULL || msg == NULL || dci == NULL) {
if (msg == NULL || dci == NULL) {
return SRSRAN_ERROR;
}
if (dci->ctx.format != srsran_dci_format_nr_rar && q == NULL) {
return SRSRAN_ERROR;
}
@ -2020,7 +2024,7 @@ int srsran_dci_nr_ul_pack(const srsran_dci_nr_t* q, const srsran_dci_ul_nr_t* dc
case srsran_dci_format_nr_0_1:
return dci_nr_format_0_1_pack(q, dci, msg);
case srsran_dci_format_nr_rar:
return dci_nr_rar_pack(q, dci, msg);
return dci_nr_rar_pack(dci, msg);
default:
ERROR("Unsupported DCI format %d", msg->ctx.format);
}
@ -2030,7 +2034,11 @@ int srsran_dci_nr_ul_pack(const srsran_dci_nr_t* q, const srsran_dci_ul_nr_t* dc
int srsran_dci_nr_ul_unpack(const srsran_dci_nr_t* q, srsran_dci_msg_nr_t* msg, srsran_dci_ul_nr_t* dci)
{
if (q == NULL || msg == NULL || dci == NULL) {
if (msg == NULL || dci == NULL) {
return SRSRAN_ERROR;
}
if (msg->ctx.format != srsran_dci_format_nr_rar && q == NULL) {
return SRSRAN_ERROR;
}
@ -2044,7 +2052,7 @@ int srsran_dci_nr_ul_unpack(const srsran_dci_nr_t* q, srsran_dci_msg_nr_t* msg,
case srsran_dci_format_nr_0_1:
return dci_nr_format_0_1_unpack(q, msg, dci);
case srsran_dci_format_nr_rar:
return dci_nr_rar_unpack(q, msg, dci);
return dci_nr_rar_unpack(msg, dci);
default:
ERROR("Unsupported DCI format %d", msg->ctx.format);
}