diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2018-04-15 23:31:47 +0200 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2018-04-15 23:40:19 +0200 |
commit | c62c93464779acddc2d516a2dd4d1317f408be8e (patch) | |
tree | 53afb188a57ddce940ca30a945d0d3178fe3c04b | |
parent | db2fa4e0d5a112adedf17948a73b481c69022e14 (diff) |
test_gsm0808_enc_dec_speech_codec_with_cfg: initialize properly
The uninitialized members of enc_sc sporadically hit address sanitizer failure
during gsm0808_test, like:
../../../../src/libosmocore/src/gsm/gsm0808_utils.c:187:8: runtime error: load of value 13, which is not a valid value for type '_Bool'
../../../../src/libosmocore/src/gsm/gsm0808_utils.c:191:8: runtime error: load of value 119, which is not a valid value for type '_Bool'
How the test survived so long is a mystery to me; as soon as some uninitialized
members would by coincidence not be zero, the test should always have failed at
OSMO_ASSERT(memcmp(&enc_sc, &dec_sc, sizeof(enc_sc)) == 0).
Related: OS#3148
Change-Id: Iaa20c59f624fbdc69a018cabd0f7e9c5a1389519
-rw-r--r-- | tests/gsm0808/gsm0808_test.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/tests/gsm0808/gsm0808_test.c b/tests/gsm0808/gsm0808_test.c index a9ab72bc..49673fe4 100644 --- a/tests/gsm0808/gsm0808_test.c +++ b/tests/gsm0808/gsm0808_test.c @@ -595,17 +595,17 @@ static void test_gsm0808_enc_dec_speech_codec() static void test_gsm0808_enc_dec_speech_codec_with_cfg() { - struct gsm0808_speech_codec enc_sc; - struct gsm0808_speech_codec dec_sc; + struct gsm0808_speech_codec enc_sc = { + .pi = true, + .tf = true, + .type = GSM0808_SCT_FR3, + .cfg = 0xabcd, + }; + struct gsm0808_speech_codec dec_sc = {}; struct msgb *msg; uint8_t rc_enc; int rc_dec; - enc_sc.pi = true; - enc_sc.tf = true; - enc_sc.type = GSM0808_SCT_FR3; - enc_sc.cfg = 0xabcd; - msg = msgb_alloc(1024, "output buffer"); rc_enc = gsm0808_enc_speech_codec(msg, &enc_sc); OSMO_ASSERT(rc_enc == 5); |