diff options
author | Vadim Yanitskiy <axilirator@gmail.com> | 2019-05-26 00:55:20 +0700 |
---|---|---|
committer | Vadim Yanitskiy <axilirator@gmail.com> | 2019-05-28 06:50:41 +0700 |
commit | e4799f56030a1dc73c9ebf0092084dfaa332398d (patch) | |
tree | b50b94893f74ca989a26e4a242050e996bceb960 /src | |
parent | 719408745786159cb0471477e015e155c14935b6 (diff) |
gsm48_decode_bcd_number2(): return -EINVAL if LV has too big length
Change-Id: Ie07b2e8bc2f9628904e88448b4ee63b359655123
Diffstat (limited to 'src')
-rw-r--r-- | src/gsm/gsm48_ie.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gsm/gsm48_ie.c b/src/gsm/gsm48_ie.c index 311836d3..688698db 100644 --- a/src/gsm/gsm48_ie.c +++ b/src/gsm/gsm48_ie.c @@ -70,7 +70,7 @@ int gsm48_decode_bcd_number(char *output, int output_len, * * 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 @@ int gsm48_decode_bcd_number2(char *output, size_t output_len, 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 */ |