From 28234893f79dd0eaa32aad46c2c651c050c147dd Mon Sep 17 00:00:00 2001 From: Laurent THOMAS Date: Fri, 18 Oct 2024 11:29:32 +0200 Subject: [PATCH] add default value setting instead of assert if we process uninitialized beta --- .../CODING/nrPolar_tools/nr_polar_decoding_tools.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/openair1/PHY/CODING/nrPolar_tools/nr_polar_decoding_tools.c b/openair1/PHY/CODING/nrPolar_tools/nr_polar_decoding_tools.c index 434c8a420d..85fb382102 100644 --- a/openair1/PHY/CODING/nrPolar_tools/nr_polar_decoding_tools.c +++ b/openair1/PHY/CODING/nrPolar_tools/nr_polar_decoding_tools.c @@ -358,8 +358,15 @@ static inline void computeBeta(decoder_node_t *node) #endif assert(node->level); const int sz = 1 << (node->level - 1); - if (node->left->all_frozen==0) { // if left node is not aggregation of frozen bits - assert(node->left->betaInit && node->right->betaInit); + if (node->left->all_frozen == 0) { // if left node is not aggregation of frozen bits + if (!node->left->betaInit) { + memset(betal, -1, sz); + node->left->betaInit = true; + } + if (!node->right->betaInit) { + memset(betar, -1, sz); + node->right->betaInit = true; + } int avx2mod = sz & 31; if (avx2mod == 0) { int avx2len = sz / 16;