diff options
| author | Max <msuraev@sysmocom.de> | 2018-01-05 14:19:33 +0100 | 
|---|---|---|
| committer | Max <msuraev@sysmocom.de> | 2018-01-08 13:02:07 +0000 | 
| commit | f1ad60e4d861d5ff462a8d7ab481ad082360f346 (patch) | |
| tree | d3cbc64a221e5a163b6407aaf6f9a7c65d76472c /tests | |
| parent | e1a511b0319bc2d8fc271aaee52d3a8ce2acf1e1 (diff) | |
Add function to properly encode RAI
Add gsm48_encode_ra() which takes appropriate struct as [out] parameter
instead of generic buffer. Using uint8_t buffer instead of proper struct
type prooved to be error-prone - see Coverity CID57877, CID57876.
Old gsm48_construct_ra() is made into tiny wrapper around new
function. The test output is adjusted because of the change in function
return value which was constant and hence ignored anyway.
Related: OS#1640
Change-Id: I31f9605277f4945f207c2c44ff82e62399f8db74
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/gsm0408/gsm0408_test.c | 9 | ||||
| -rw-r--r-- | tests/gsm0408/gsm0408_test.ok | 4 | 
2 files changed, 6 insertions, 7 deletions
diff --git a/tests/gsm0408/gsm0408_test.c b/tests/gsm0408/gsm0408_test.c index 935ec21d..77a88224 100644 --- a/tests/gsm0408/gsm0408_test.c +++ b/tests/gsm0408/gsm0408_test.c @@ -137,8 +137,7 @@ static inline void dump_ra(const struct gprs_ra_id *raid)  static inline void check_ra(const struct gprs_ra_id *raid)  { -	uint8_t buf[6]; -	int res; +	struct gsm48_ra_id ra;  	struct gprs_ra_id raid0 = {  		.mnc = 0,  		.mcc = 0, @@ -146,10 +145,10 @@ static inline void check_ra(const struct gprs_ra_id *raid)  		.rac = 0,  	}; -	res = gsm48_construct_ra(buf, raid); -	printf("Constructed RA: %d - %s\n", res, res != sizeof(buf) ? "FAIL" : "OK"); +	gsm48_encode_ra(&ra, raid); +	printf("Constructed RA:\n"); -	gsm48_parse_ra(&raid0, buf); +	gsm48_parse_ra(&raid0, (const uint8_t *)&ra);  	dump_ra(raid);  	dump_ra(&raid0);  	printf("RA test..."); diff --git a/tests/gsm0408/gsm0408_test.ok b/tests/gsm0408/gsm0408_test.ok index f0abfd5c..83165fac 100644 --- a/tests/gsm0408/gsm0408_test.ok +++ b/tests/gsm0408/gsm0408_test.ok @@ -1,11 +1,11 @@  Test `CSD 9600/V.110/transparent' passed  Test `Speech, all codecs' passed  Simple TMSI encoding test....passed -Constructed RA: 6 - OK +Constructed RA:  RA: MNC=121, MCC=77, LAC=666, RAC=5  RA: MNC=121, MCC=77, LAC=666, RAC=5  RA test...passed -Constructed RA: 6 - OK +Constructed RA:  RA: MNC=98, MCC=84, LAC=11, RAC=89  RA: MNC=98, MCC=84, LAC=11, RAC=89  RA test...passed  | 
