libosmocore/tests
Vadim Yanitskiy bd33a9568e tests/ussd: prevent uninitialized memory access
Previously an incorrect length value was passed to both
gsm_7bit_decode_n_ussd() and gsm_7bit_encode_n_ussd()
functions during test_7bit_ussd() execution, due to:

   octets_written = strlen(decoded);

The problem is that a 7-bit encoded string takes less memory
than its 8-bit equivalent. So, here strlen() returns one-byte
bigger value, that octets_written is. This then causes the
uninitialized memory access.

Found using Valgrind:

Conditional jump or move depends on uninitialised value(s)
   at 0x506DCCC: gsm_7bit_decode_n_ussd (gsm_utils.c:248)
   by 0x40134B: test_7bit_ussd (ussd_test.c:104)
   by 0x400F5D: main (ussd_test.c:161)

Conditional jump or move depends on uninitialised value(s)
   at 0x506DBB7: gsm_7bit_decode_n_hdr (gsm_utils.c:220)
   by 0x506DC9E: gsm_7bit_decode_n_ussd (gsm_utils.c:246)
   by 0x40134B: test_7bit_ussd (ussd_test.c:104)
   by 0x400F5D: main (ussd_test.c:161)

Conditional jump or move depends on uninitialised value(s)
   at 0x506DBCB: gsm_septet_lookup (gsm_utils.c:153)
   by 0x506DBCB: gsm_7bit_decode_n_hdr (gsm_utils.c:224)
   by 0x506DC9E: gsm_7bit_decode_n_ussd (gsm_utils.c:246)
   by 0x40134B: test_7bit_ussd (ussd_test.c:104)
   by 0x400F5D: main (ussd_test.c:161)

Change-Id: Ic31805b6a5a917dfc6284edba6ffdd21246ac20c
2018-01-22 10:35:53 +00:00
..
a5 fix compiler warnings for a5 tests 2015-04-07 20:08:38 +02:00
abis abis_test: sanitize: fix msgb memleak 2017-11-18 10:30:58 +00:00
auth milenage_test: cosmetic: verify AUTS in comments 2017-03-15 13:46:58 +00:00
bits Add tests for bitvec_write_field() 2017-10-24 08:21:59 +00:00
bitvec Add function to get uninterrupted bit run 2017-01-06 10:37:42 +00:00
codec libosmocodec: implement ECU (Error Concealment Unit) for FR 2018-01-15 20:12:03 +00:00
coding Add functions for extended RACH coding 2017-12-11 10:36:47 +00:00
comp128 tests: test actual support status for auth. algo 2016-06-29 16:33:40 +00:00
conv Add functions for extended RACH coding 2017-12-11 10:36:47 +00:00
ctrl ctrl: tighten CTRL input parsing 2017-12-20 15:50:24 +00:00
endian introduce byteswap.h with osmo_{htonl,ntohl,htons,ntohs} 2017-05-15 13:42:00 +02:00
fr license: Fix the license to GPL 2017-12-09 13:03:29 +00:00
fsm fsm_test.c: fix unreachable check 2017-05-15 12:51:15 +00:00
gb Use existing function for TLLI encoding 2018-01-08 14:07:47 +01:00
gea Add GEA3 & GEA4 ciphers 2016-07-11 19:15:24 +00:00
gprs Make osmo_apn_to_str() more robust 2017-10-20 18:19:58 +00:00
gsm0408 Add function to properly encode RAI 2018-01-08 13:02:07 +00:00
gsm0808 gsm0808_create_cipher_reject: Fix encoding of Cause IE 2017-12-17 20:51:48 +01:00
gsm23003 Fix/Update copyright notices; Add SPDX annotation 2017-11-13 01:35:12 +09:00
gsup gsup: Add encoding/decoding for the pdp charging characteristics 2017-07-07 21:54:38 +02:00
kasumi kasumi_test.c: fix incomplete check 2017-05-14 20:27:22 +03:00
lapd Fix malformed Abis/RSL messages with extra L3 Information field 2017-12-10 14:44:19 +00:00
logging license: Fix the license to GPL 2017-12-09 13:03:29 +00:00
loggingrb license: Fix the license to GPL 2017-12-09 13:03:29 +00:00
msgb add function msgb_printf() to print formatted text into msg buf 2017-10-22 20:09:26 +00:00
msgfile build: resolve compiler warning about implicit delcaration 2014-10-04 11:49:23 +02:00
oap Fix/Update copyright notices; Add SPDX annotation 2017-11-13 01:35:12 +09:00
osmo-auc-gen umts aka: add sqn_ms out-param, print SQN.MS in osmo-auc-gen 2017-08-29 12:46:46 +00:00
prbs Add pseudo-random bit sequence generator to libosmcoore 2017-07-10 23:42:02 +02:00
sercomm Embedded: add sercomm stubs 2018-01-21 19:08:05 +00:00
sim sim: Fix compiler warning and by this fixing the test result 2016-03-21 11:29:16 +01:00
sms sms_test.c: Remove test of deprecated wrapper function 2017-06-18 10:40:18 +02:00
smscb test: Fix compiler warnings on 64bit systems 2015-11-09 16:46:03 +00:00
socket osmo_sock_get_name(): clearly indicate local and remote 2017-07-03 17:29:05 +00:00
stats rate_ctr: fix osmo-sgsn DoS: don't return NULL on already used index 2017-12-20 01:29:59 +01:00
strrb Fix/Update copyright notices; Add SPDX annotation 2017-11-13 01:35:12 +09:00
timer timer: add osmo_timer_setup() 2017-05-09 12:10:51 +02:00
tlv tlv_test.c: Fix compilation warnings 2017-06-18 10:40:18 +02:00
ussd tests/ussd: prevent uninitialized memory access 2018-01-22 10:35:53 +00:00
utils utils: add osmo_escape_str() 2017-12-18 23:05:49 +00:00
vty Fix/Update copyright notices; Add SPDX annotation 2017-11-13 01:35:12 +09:00
write_queue wqueue: Reject messges if queue is considered full 2016-12-09 11:37:37 +01:00
Makefile.am Embedded: add sercomm stubs 2018-01-21 19:08:05 +00:00
atlocal.in build: make check: disable sim_test when built with --disable-pcsc 2016-11-16 16:40:44 +00:00
libsercomstub.c Embedded: add sercomm stubs 2018-01-21 19:08:05 +00:00
testsuite.at libosmocodec: implement ECU (Error Concealment Unit) for FR 2018-01-15 20:12:03 +00:00