pespin has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/libosmocore/+/28102 )


Change subject: coding: Refactor function to avoid gcc false positive warn
......................................................................

coding: Refactor function to avoid gcc false positive warn

"""
/libosmocore/src/coding/gsm0503_coding.c: In function 
'osmo_conv_decode_ber_punctured':
/libosmocore/src/coding/gsm0503_coding.c:563:31: error: 'coded_len' may be used 
uninitialized [-Werror=maybe-uninitialized]
  563 |                 *n_bits_total = coded_len;
      |                 ~~~~~~~~~~~~~~^~~~~~~~~~~
/libosmocore/src/coding/gsm0503_coding.c:541:21: note: 'coded_len' was declared 
here
  541 |         int res, i, coded_len;
      |                     ^~~~~~~~~
"""

This error is really a false positive. However, it is true that the code
used to be a bit more complex than required, since the 2 later conditions
could be inside the first one.
Let's simply do early termination to simplify the function, and get rid
of the gcc warning.

Change-Id: I31ebf0c4be61daf6395d9a9fac05c7fdceb8bcb9
---
M src/coding/gsm0503_coding.c
1 file changed, 5 insertions(+), 4 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/02/28102/1

diff --git a/src/coding/gsm0503_coding.c b/src/coding/gsm0503_coding.c
index 835a18e..493f957 100644
--- a/src/coding/gsm0503_coding.c
+++ b/src/coding/gsm0503_coding.c
@@ -543,10 +543,11 @@

        res = osmo_conv_decode(code, input, output);

-       if (n_bits_total || n_errors) {
-               coded_len = osmo_conv_encode(code, output, recoded);
-               OSMO_ASSERT(sizeof(recoded) / sizeof(recoded[0]) >= coded_len);
-       }
+       if (!n_bits_total && !n_errors)
+               return res;
+
+       coded_len = osmo_conv_encode(code, output, recoded);
+       OSMO_ASSERT(sizeof(recoded) / sizeof(recoded[0]) >= coded_len);

        /* Count bit errors */
        if (n_errors) {

--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/28102
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I31ebf0c4be61daf6395d9a9fac05c7fdceb8bcb9
Gerrit-Change-Number: 28102
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <[email protected]>
Gerrit-MessageType: newchange

Reply via email to