aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>2020-11-08 14:29:51 +0100
committerDenis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>2020-11-08 14:31:05 +0100
commite26140c9a612c6c65b47c2a8c85c429e7f8ed4ea (patch)
treec7c25fb12cc7ccac487b2b3a265c36cdbf15a73b
parentf9012aabdf4148e7b7c2b82c5cc242a1678bda2c (diff)
downloadhardware_replicant_libsamsung-ipc-e26140c9a612c6c65b47c2a8c85c429e7f8ed4ea.tar.gz
hardware_replicant_libsamsung-ipc-e26140c9a612c6c65b47c2a8c85c429e7f8ed4ea.tar.bz2
hardware_replicant_libsamsung-ipc-e26140c9a612c6c65b47c2a8c85c429e7f8ed4ea.zip
nv_data-imei: Fix get_imei return codes
Negative error codes are used as per the kernel coding style, however userspace, especially the tests expect positive return code compliant with sysexits.h. So here we map EINVAL (Invalid argument) from errno.h to EX_USAGE (command line usage error). Without that fix we have: $ ./tools/nv_data-imei nv_data.bin bruteforce-imei -i 12345 The '12345' IMEI is invalid as it is composed of 5 digits instead of 15. errno_to_sysexit: error: unknown error code -1. errno_to_sysexit: error code -1 needs to be implemented lt-nv_data-imei: nv_data-imei.c:836: errno_to_sysexit: Assertion `false' failed. Aborted (core dumped) instead of: $ ./tools/nv_data-imei nv_data.bin bruteforce-imei -i 12345 The '12345' IMEI is invalid as it is composed of 5 digits instead of 15. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
-rw-r--r--tools/nv_data-imei.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/tools/nv_data-imei.c b/tools/nv_data-imei.c
index 6ec5adc..dfa3d86 100644
--- a/tools/nv_data-imei.c
+++ b/tools/nv_data-imei.c
@@ -164,19 +164,19 @@ static int get_imei(struct command *command, void *arg)
" as it is composed of "
"%d digits instead of %d.\n",
len, IMEI_LENGTH);
- return -1;
+ return -EINVAL;
} else if (!str_is_digit) {
printf("The '%s' "
"IMEI is invalid"
" as it does not only contains digits\n",
imei->optarg);
- return -1;
+ return -EINVAL;
} else if (!str_len_valid) {
printf("The '%s' "
"IMEI is invalid as it is composed of "
"%d digits instead of %d.\n",
imei->optarg, len, IMEI_LENGTH);
- return -1;
+ return -EINVAL;
}
/* imei.imei is IMEI_LENGTH + 1 */