Fix issue in encoding CSN_RECURSIVE_ARRAY
The remaining_bits_len is correctly decremented while encoding CSN_RECURSIVE_ARRAY for fixing the bug. Details of the bug is in https://projects.osmocom.org/issues/1641 During introduction of basic EGPRS feature new hex dump message PUASS, from a different working network log was used in Unit test. It exposed the issue of incorrect handling of recursive array encoding in osmo-pcu. Fixes: OS#1641
This commit is contained in:
parent
bacb65b48b
commit
2b09c39c9c
|
@ -2504,6 +2504,7 @@ gint16 csnStreamEncoder(csnStream_t* ar, const CSN_DESCR* pDescr, bitvec *vector
|
||||||
bitvec_write_field(vector, writeIndex, !Tag, 1);
|
bitvec_write_field(vector, writeIndex, !Tag, 1);
|
||||||
LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)(!Tag));
|
LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)(!Tag));
|
||||||
bit_offset++;
|
bit_offset++;
|
||||||
|
remaining_bits_len--;
|
||||||
|
|
||||||
pDescr++;
|
pDescr++;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -93,6 +93,7 @@ void testRlcMacDownlink()
|
||||||
"47240c00400000000000000079eb2ac9402b2b2b2b2b2b", // Packet Uplink Ack Nack
|
"47240c00400000000000000079eb2ac9402b2b2b2b2b2b", // Packet Uplink Ack Nack
|
||||||
"47283c367513ba333004242b2b2b2b2b2b2b2b2b2b2b2b", // Packet Uplink Assignment
|
"47283c367513ba333004242b2b2b2b2b2b2b2b2b2b2b2b", // Packet Uplink Assignment
|
||||||
"400820001a3904df0680efb3300b2b2b2b2b2b2b2b2b2b", // Packet Downlink Assignment (EGPRS)
|
"400820001a3904df0680efb3300b2b2b2b2b2b2b2b2b2b", // Packet Downlink Assignment (EGPRS)
|
||||||
|
"40284f0000001009810c826f4406809dcecb2b2b2b2b2b", // Packet Uplink Assignment (EGPRS)
|
||||||
"4024030f2f0000000087b0042b2b2b2b2b2b2b2b2b2b2b" // Packet Uplink Ack Nack (EGPRS)
|
"4024030f2f0000000087b0042b2b2b2b2b2b2b2b2b2b2b" // Packet Uplink Ack Nack (EGPRS)
|
||||||
"4913e00850884013a8048b2b2b2b2b2b2b2b2b2b2b2b2b"
|
"4913e00850884013a8048b2b2b2b2b2b2b2b2b2b2b2b2b"
|
||||||
"412430007fffffffffffffffefd19c7ba12b2b2b2b2b2b"
|
"412430007fffffffffffffffefd19c7ba12b2b2b2b2b2b"
|
||||||
|
|
|
@ -39,6 +39,14 @@ vector1 = 4082001a394df680efb330b2b2b2b2b2b2b2b2b2b
|
||||||
vector1 = 4082001a394df680efb330b2b2b2b2b2b2b2b2b2b
|
vector1 = 4082001a394df680efb330b2b2b2b2b2b2b2b2b2b
|
||||||
vector2 = 4082001a394df680efb330b2b2b2b2b2b2b2b2b2b
|
vector2 = 4082001a394df680efb330b2b2b2b2b2b2b2b2b2b
|
||||||
vector1 == vector2 : TRUE
|
vector1 == vector2 : TRUE
|
||||||
|
vector1 = 40284f00010981c826f446809dcecb2b2b2b2b2b
|
||||||
|
=========Start DECODE===========
|
||||||
|
+++++++++Finish DECODE++++++++++
|
||||||
|
=========Start ENCODE=============
|
||||||
|
+++++++++Finish ENCODE+++++++++++
|
||||||
|
vector1 = 40284f00010981c826f446809dcecb2b2b2b2b2b
|
||||||
|
vector2 = 40284f00010981c826f446809dcecb2b2b2b2b2b
|
||||||
|
vector1 == vector2 : TRUE
|
||||||
vector1 = 40243f2f000087b042b2b2b2b2b2b2b2b2b2b2b
|
vector1 = 40243f2f000087b042b2b2b2b2b2b2b2b2b2b2b
|
||||||
=========Start DECODE===========
|
=========Start DECODE===========
|
||||||
+++++++++Finish DECODE++++++++++
|
+++++++++Finish DECODE++++++++++
|
||||||
|
|
Loading…
Reference in New Issue