libosmocore/tests
Harald Welte 96c61074f5 tlv_parser: Fix various out-of-bounds accesses
The libosmocore TLV parser had a number of insufficient bounds checks
leading to reads beyond the end of the respective input buffer.

This patch
* adds proper out-of-bounds checks to all TLV types
* simplifies some of the existing checks
* introduces test cases to test all the corner cases
  where either TAG, or length, or value are not fully contained
  in the input buffer.

Thanks to Ilja Van Sprundel for reporting these problems.

Change-Id: I98b02c914c9e3ecf56050af846292aa6979d7508
2021-01-12 23:24:12 +01:00
..
a5 tests: a5_test: Print wrong buffer correctly on error 2018-05-16 21:13:58 +02:00
abis use osmo_init_logging2() with proper talloc ctx 2018-04-06 04:37:50 +02:00
auth Use define for key buffers 2018-12-20 09:51:02 +00:00
bits tests: bitrev_test: Fix dynamic-stack-buffer-overflow 2018-05-16 17:10:33 +02:00
bitvec bitvec: fix bitvec_unhex(): do not return 1 on success 2020-02-19 18:23:40 +07:00
codec codec: Add functions for AMR s->d bits and d->s bits 2020-05-14 14:51:22 +02:00
coding tests/coding_test: Fix test_pdtch() results 2020-04-17 10:15:05 +00:00
comp128 tests: test actual support status for auth. algo 2016-06-29 16:33:40 +00:00
context context: Add support for [per-thread] global talloc contexts 2019-08-27 13:43:31 +02:00
conv conv: add convolutional coder for AMR SID UPDATE frames 2020-03-09 13:40:27 +01:00
ctrl utils.h: require a semi colon after OSMO_ASSERT 2019-07-08 13:23:45 +00:00
dtx gsm0505_amr_dtx: add missing value strings 2020-05-12 18:13:30 +00:00
endian add/clean big-endian packed structs (struct_endianess.py) 2018-12-19 18:40:03 +00:00
exec Introduce helper functions for safe fork+exec of processes 2019-12-17 13:49:28 +01:00
fr license: Fix the license to GPL 2017-12-09 13:03:29 +00:00
fsm tests/fsm_test.c: Disable use color in logging output 2020-07-30 20:33:24 +00:00
gb NS: Factor out gprs_nsvc_start_test() and use it 2019-02-26 12:18:30 +01:00
gea tests: gea_test: Use correct max size for key in buffer 2018-05-16 20:09:39 +02:00
gprs use osmo_init_logging2() with proper talloc ctx 2018-04-06 04:37:50 +02:00
gsm0408 gsm0408_test: allow deprecated API 2020-06-16 15:17:48 +02:00
gsm0502 gsm0508: add functions to calculate beginning of a block 2019-10-28 19:43:14 +00:00
gsm0808 gsm0808: fix endieness of call identifier 2020-06-09 12:36:38 +02:00
gsm23003 gsm23003: add osmo_imei_str_valid() 2019-01-14 14:39:57 +00:00
gsm23236 add gsm23236: MSC pooling: TMSI and NRI utility functions 2020-06-10 14:20:49 +02:00
gsm29205 gsm29205_test: fix error: missing braces around initializer 2019-09-27 03:16:17 +00:00
gsup gsup: Introduce OSMO_GSUP_NUM_VECTORS_REQ_IE 2019-12-09 10:54:30 +00:00
i460_mux i460: Fix bit- and subslots ordering of I.460 mux + demux 2020-08-02 21:57:05 +02:00
kasumi gsm: kasumi: Fix dynamic-stack-buffer-overflow on out buffers not multiple of 64 bits 2018-05-17 12:13:04 +02:00
lapd RSL/LAPDm: Not all RLL message are "transparent" 2018-04-19 15:09:32 +00:00
logging logging.h: define ansi color constants 2019-11-23 07:58:47 +00:00
loggingrb logging.h: define ansi color constants 2019-11-23 07:58:47 +00:00
msgb use osmo_init_logging2() with proper talloc ctx 2018-04-06 04:37:50 +02:00
msgfile build: resolve compiler warning about implicit delcaration 2014-10-04 11:49:23 +02:00
oap oap_client: Fix license: GPLv2+ instead of AGPLv3+ 2019-05-27 23:26:45 +02: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 use osmo_init_logging2() with proper talloc ctx 2018-04-06 04:37:50 +02:00
smscb test: Fix compiler warnings on 64bit systems 2015-11-09 16:46:03 +00:00
sockaddr_str osmo_sockaddr_str: deprecate osmo_sockaddr_str_*_32n() 2019-11-24 19:59:35 +01:00
socket osmo_sock_init2: improve support for AF_UNSPEC 2020-08-06 16:41:20 +00:00
stats add osmo_stat_item_inc/osmo_stat_item_dec to set it relative 2019-05-07 13:20:57 +00:00
strrb Fix/Update copyright notices; Add SPDX annotation 2017-11-13 01:35:12 +09:00
tdef Check for osmo_fsm_register() error return value 2019-12-01 13:45:03 +01:00
timer timer: Introduce osmo_clock_gettime to override clock_gettime 2018-03-01 12:33:02 +00:00
tlv tlv_parser: Fix various out-of-bounds accesses 2021-01-12 23:24:12 +01:00
use_count Check for osmo_fsm_register() error return value 2019-12-01 13:45:03 +01:00
ussd gsm/gsm0480: refactor and expose gsm0480_parse_facility_ie() 2018-06-11 23:50:00 +07:00
utils add osmo_mobile_identity API 2020-06-16 15:17:48 +02:00
vty vty: Don't match negative values on purely positive ranges 2020-07-30 21:02:03 +00:00
write_queue wqueue: Reject messges if queue is considered full 2016-12-09 11:37:37 +01:00
Makefile.am add gsm23236: MSC pooling: TMSI and NRI utility functions 2020-06-10 14:20:49 +02: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 add gsm23236: MSC pooling: TMSI and NRI utility functions 2020-06-10 14:20:49 +02:00