Hello Holger, Thanks for your feedback.
From the code analysis it seems CSN_RECURSIVE_TARRAY also requires similar fix. But we need to find a proper test vector to validate the fix.
Regards Saurabh
-----Original Message----- From: Holger Freyther [mailto:holger@freyther.de] Sent: Wednesday, March 16, 2016 7:31 PM To: Saurabh Sharan Saurabh.Sharan@radisys.com Cc: osmocom-net-gprs@lists.osmocom.org Subject: Re: [PATCH] Fix issue in encoding CSN_RECURSIVE_ARRAY
On 16 Mar 2016, at 14:47, Saurabh Sharan Saurabh.Sharan@radisys.com wrote:
Dear Saurabh,
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.
great! It is not documented (we need to fix it) we generally refer to bug reports like:
Fixes: OS#1641
src/csn1.cpp | 1 + tests/rlcmac/RLCMACTest.cpp | 1 + tests/rlcmac/RLCMACTest.ok | 8 ++++++++ 3 files changed, 10 insertions(+)
diff --git a/src/csn1.cpp b/src/csn1.cpp index 82bf17f..d51fe83 100644 --- a/src/csn1.cpp +++ b/src/csn1.cpp @@ -2504,6 +2504,7 @@ gint16 csnStreamEncoder(csnStream_t* ar, const CSN_DESCR* pDescr, bitvec *vector bitvec_write_field(vector, writeIndex, !Tag, 1); LOGPC(DCSN1, LOGL_NOTICE, "%s = %u | ", pDescr->sz , (unsigned)(!Tag)); bit_offset++;
remaining_bits_len--;
great. and thanks for debugging it. Could you elaborate if CSN_RECURSIVE_TARRAY needs a similiar fix?
holger