diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2018-12-05 21:32:40 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2018-12-10 17:06:30 +0000 |
commit | 627e0113d142c91eaf9a750ab76b722bb776b1ce (patch) | |
tree | 643df37330095ad84bee057a8a951172de9ee577 /tests/gsm0408 | |
parent | 7079e698481705c82c7aff58ea9c63469626af80 (diff) |
gsm48_mi_to_string: use osmo_bcd2str(), fix some corner cases
By using osmo_bcd2str(), ensure that the resulting string is always nul
terminated, and always return strlen()+1 whether truncated or not.
Still keep up the previous return value style, even if that isn't consistent at
all.
The difference between IMSI/IMEI and TMSI return values remains and is not part
of this patch.
Change-Id: I1b51b72a721e1cc9d69796b804ebda741ff0f36b
Diffstat (limited to 'tests/gsm0408')
-rw-r--r-- | tests/gsm0408/gsm0408_test.c | 2 | ||||
-rw-r--r-- | tests/gsm0408/gsm0408_test.ok | 26 |
2 files changed, 12 insertions, 16 deletions
diff --git a/tests/gsm0408/gsm0408_test.c b/tests/gsm0408/gsm0408_test.c index 24f903a7..c786d389 100644 --- a/tests/gsm0408/gsm0408_test.c +++ b/tests/gsm0408/gsm0408_test.c @@ -393,7 +393,6 @@ static const struct test_mid_encode_decode_test test_mid_encode_decode_tests[] = .expect_mi_tlv_hex = "170449322453", .str_size = 4, .expect_str = "423", - .expect_rc = 3, /* exception: on truncation, gsm48_mi_to_string() returns strlen(), not bytes! */ }, { .mi_type = GSM_MI_TYPE_IMEI, @@ -421,7 +420,6 @@ static const struct test_mid_encode_decode_test test_mid_encode_decode_tests[] = .expect_mi_tlv_hex = "170a937856341290785634f2", .str_size = 16, .expect_str = "987654321098765", - .expect_rc = 15, /* exception: on truncation, gsm48_mi_to_string() returns strlen(), not bytes! */ }, { /* gsm48 treats TMSI as decimal string */ diff --git a/tests/gsm0408/gsm0408_test.ok b/tests/gsm0408/gsm0408_test.ok index 1dc42499..2db58de8 100644 --- a/tests/gsm0408/gsm0408_test.ok +++ b/tests/gsm0408/gsm0408_test.ok @@ -23,8 +23,7 @@ Testing Mobile Identity conversions -> MI-str="4234235" rc=8 - IMSI 4234235 -> MI-TLV-hex='170449322453' - -> MI-str="423" rc=3 - ERROR: resulting string is not explicitly nul terminated + -> MI-str="423" rc=4 - IMEI 123456789012345 -> MI-TLV-hex='17081a32547698103254' -> MI-str="123456789012345" rc=16 @@ -39,8 +38,7 @@ Testing Mobile Identity conversions -> MI-str="987654321098765432" rc=19 - IMEI-SV 987654321098765432 -> MI-TLV-hex='170a937856341290785634f2' - -> MI-str="987654321098765" rc=15 - ERROR: resulting string is not explicitly nul terminated + -> MI-str="987654321098765" rc=16 - TMSI 305419896 -> MI-TLV-hex='1705f412345678' -> MI-str="305419896" rc=9 @@ -66,14 +64,14 @@ Testing Mobile Identity conversions Decoding zero length Mobile Identities - MI type: IMSI - writing to zero-length string: - rc=1 - ERROR: Wrote to invalid memory! + rc=0 + nothing written - writing to 1-byte-length string: rc=1 - ERROR: Wrote unexpected string "1!!!!" + returned empty string - decode zero-length mi: - rc=2 - ERROR: expected empty string, got output string: "1" + rc=1 + returned empty string - MI type: TMSI - writing to zero-length string: rc=1 @@ -96,14 +94,14 @@ Decoding zero length Mobile Identities returned empty string - MI type: IMSI | GSM_MI_ODD - writing to zero-length string: - rc=1 - ERROR: Wrote to invalid memory! + rc=0 + nothing written - writing to 1-byte-length string: rc=1 - ERROR: Wrote unexpected string "1!!!!" + returned empty string - decode zero-length mi: - rc=2 - ERROR: expected empty string, got output string: "1" + rc=1 + returned empty string - MI type: TMSI | GSM_MI_ODD - writing to zero-length string: rc=1 |