From 40454759ba37c69c59473d63635cfccc7bb5ec8d Mon Sep 17 00:00:00 2001 From: Lee Duncan Date: Tue, 12 May 2020 16:01:50 +0800 Subject: [PATCH] Fix issue where 'iscsi-iname -p' core dumps Fix issue where 'iscsi-iname -p' core dumps Signed-off-by: Lee Duncan --- utils/iscsi-iname.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/utils/iscsi-iname.c b/utils/iscsi-iname.c index da850dc..d1c067b 100644 --- a/utils/iscsi-iname.c +++ b/utils/iscsi-iname.c @@ -40,6 +40,13 @@ * a seperator and 12 characters (6 random bytes in hex representation) */ #define PREFIX_MAX_LEN 210 +static void usage(void) +{ + fprintf(stderr, "Usage: iscsi-iname [-h | --help | -p ]\n"); + fprintf(stderr, "where has max length of %d\n", + PREFIX_MAX_LEN); +} + int main(int argc, char *argv[]) { @@ -68,15 +75,17 @@ main(int argc, char *argv[]) "on every invocation.\n"); exit(0); } else if ( strcmp(prefix, "-p") == 0 ) { + if (argc != 3){ + usage(); + exit(1); + } prefix = argv[2]; if (strnlen(prefix, PREFIX_MAX_LEN + 1) > PREFIX_MAX_LEN) { - printf("Error: Prefix cannot exceed %d " - "characters.\n", PREFIX_MAX_LEN); + usage(); exit(1); } } else { - printf("\nUsage: iscsi-iname [-h | --help | " - "-p ]\n"); + usage(); exit(0); } } else { -- 1.8.3.1