Change in libosmocore[master]: gsm48_decode_bcd_number2(): return -EINVAL if LV has too big length

Harald Welte gerrit-no-reply at lists.osmocom.org
Tue May 28 06:33:16 UTC 2019


Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/14187 )

Change subject: gsm48_decode_bcd_number2(): return -EINVAL if LV has too big length
......................................................................

gsm48_decode_bcd_number2(): return -EINVAL if LV has too big length

Change-Id: Ie07b2e8bc2f9628904e88448b4ee63b359655123
---
M src/gsm/gsm48_ie.c
M tests/gsm0408/gsm0408_test.c
M tests/gsm0408/gsm0408_test.ok
3 files changed, 5 insertions(+), 5 deletions(-)

Approvals:
  Jenkins Builder: Verified
  Harald Welte: Looks good to me, approved



diff --git a/src/gsm/gsm48_ie.c b/src/gsm/gsm48_ie.c
index 311836d..688698d 100644
--- a/src/gsm/gsm48_ie.c
+++ b/src/gsm/gsm48_ie.c
@@ -70,7 +70,7 @@
  *
  * Errors checked:
  *   - no or too little input data (-EIO),
- *   - IE length exceeds input data size (-EIO),
+ *   - IE length exceeds input data size (-EINVAL),
  *   - no or too little output buffer size (-ENOSPC),
  *   - decoded number exceeds size of the output buffer (-ENOSPC).
  *
@@ -90,7 +90,7 @@
 	in_len = bcd_lv[0];
 	/* len + 1: the BCD length plus the length byte itself must fit in the input buffer. */
 	if (input_len < in_len + 1)
-		return -EIO;
+		return -EINVAL;
 
 	for (i = 1 + h_len; i <= in_len; i++) {
 		/* lower nibble */
diff --git a/tests/gsm0408/gsm0408_test.c b/tests/gsm0408/gsm0408_test.c
index 55c9b61..d7bae77 100644
--- a/tests/gsm0408/gsm0408_test.c
+++ b/tests/gsm0408/gsm0408_test.c
@@ -712,7 +712,7 @@
 		.test_name = "LV incorrect length",
 		.dec_hex   = "05214365", /* should be 0x03 */
 		.dec_ascii = "(none)",
-		.dec_rc    = -EIO,
+		.dec_rc    = -EINVAL,
 	},
 	{
 		.test_name = "empty input buffer",
diff --git a/tests/gsm0408/gsm0408_test.ok b/tests/gsm0408/gsm0408_test.ok
index b080411..075886e 100644
--- a/tests/gsm0408/gsm0408_test.ok
+++ b/tests/gsm0408/gsm0408_test.ok
@@ -177,8 +177,8 @@
     -   Actual: (rc=-28) '123456789012345'
 - Running test: LV incorrect length
   - Decoding HEX (buffer limit=0) '05214365'...
-    - Expected: (rc=-5) '(none)'
-    -   Actual: (rc=-5) '(none)'
+    - Expected: (rc=-22) '(none)'
+    -   Actual: (rc=-22) '(none)'
 - Running test: empty input buffer
   - Encoding ASCII (buffer limit=0) ''...
     - Expected: (rc=1) '00'

-- 
To view, visit https://gerrit.osmocom.org/14187
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Ie07b2e8bc2f9628904e88448b4ee63b359655123
Gerrit-Change-Number: 14187
Gerrit-PatchSet: 6
Gerrit-Owner: Vadim Yanitskiy <axilirator at gmail.com>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder (1000002)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20190528/20a44c9c/attachment.html>


More information about the gerrit-log mailing list