test/app/stub: fix a null pointer passed as argument 'H'

When val gets optarg and argument is 'H', a  null pointer passed as argument 1,
which is declared to never be null. So we adjust the order, judge 'H' first.
Then './test/app/stub/stub -H' will display help info instead of 'Segmentation fault'.
This patch fixed it.
And case 'default' should return 1.

Change-Id: I6ba9311eb5ac90266fdf33ab3424ab28fa64a78f
Signed-off-by: wanghailiangx <hailiangx.e.wang@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6083
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
This commit is contained in:
wanghailiangx 2021-01-26 04:12:49 -05:00 committed by Tomasz Zawadzki
parent afbab54cbb
commit cf3ed0e19f

View File

@ -158,9 +158,9 @@ main(int argc, char **argv)
while ((ch = getopt(argc, argv, "i:m:n:p:s:H")) != -1) { while ((ch = getopt(argc, argv, "i:m:n:p:s:H")) != -1) {
if (ch == 'm') { if (ch == 'm') {
opts.reactor_mask = optarg; opts.reactor_mask = optarg;
} else if (ch == '?') { } else if (ch == '?' || ch == 'H') {
usage(argv[0]); usage(argv[0]);
exit(1); exit(EXIT_SUCCESS);
} else { } else {
val = spdk_strtol(optarg, 10); val = spdk_strtol(optarg, 10);
if (val < 0) { if (val < 0) {
@ -180,10 +180,9 @@ main(int argc, char **argv)
case 's': case 's':
opts.mem_size = val; opts.mem_size = val;
break; break;
case 'H':
default: default:
usage(argv[0]); usage(argv[0]);
exit(EXIT_SUCCESS); exit(EXIT_FAILURE);
} }
} }
} }