Commit d795c729 authored by Rúben Soares Silva's avatar Rúben Soares Silva

Change compute_PDU_Length input parameter to uint32_t.

The total_length parameter in compute_PDU_Length being uint16_t causes
the passed value to be possibly truncated, which can cause the
PDU_Length to be incorrectly calculated.
This change prevents that truncation, since it now matches the size
of the values passed into the function where it is being called.
parent 5af81bbc
......@@ -5200,7 +5200,7 @@ bool supported_bw_comparison(int bw_mhz, NR_SupportedBandwidth_t *supported_BW,
return false;
}
uint32_t compute_PDU_length(uint32_t num_TLV, uint16_t total_length)
uint32_t compute_PDU_length(uint32_t num_TLV, uint32_t total_length)
{
uint32_t pdu_length = 8; // 2 bytes PDU_Length + 2 bytes PDU_Index + 4 bytes num_TLV
// For each TLV, add 2 bytes tag + 2 bytes length + value size without padding
......
......@@ -311,7 +311,7 @@ void compute_csi_bitlen(const NR_CSI_MeasConfig_t *csi_MeasConfig, nr_csi_report
uint16_t nr_get_csi_bitlen(nr_csi_report_t *csi_report);
uint32_t compute_PDU_length(uint32_t num_TLV, uint16_t total_length);
uint32_t compute_PDU_length(uint32_t num_TLV, uint32_t total_length);
rnti_t nr_get_ra_rnti(uint8_t s_id, uint8_t t_id, uint8_t f_id, uint8_t ul_carrier_id);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment