From ba55487612416b71f22520c87dba477405535a08 Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Fri, 7 Feb 2020 00:52:40 -0500 Subject: Fix segfault when --install had no arguments --- src/spm.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/spm.c b/src/spm.c index 8cf3dd2..82e5d71 100644 --- a/src/spm.c +++ b/src/spm.c @@ -21,6 +21,7 @@ void usage(const char *program_name) { " -r, --root installation prefix (requires --install)\n" " -L, --list list available packages\n" " -S, --search search for a package\n" + " --cmd execute an internal spm command\n" , program_name); } @@ -114,13 +115,14 @@ int main(int argc, char *argv[], char *arge[]) { for (int p = 0; i < argc; p++) { i++; if (startswith(argv[i], "-") == 0 || startswith(argv[i], "--") == 0) { - if (!p) { - fprintf(stderr, "-I|--install requires at least one package (got: '%s')\n", argv[i]); - exit(1); - } i--; break; } + if ((argc - i) == 0) { + fprintf(stderr, "-I|--install requires at least one package\n"); + usage(program_name); + exit(1); + } strlist_append(packages, argv[i]); } } -- cgit