summaryrefslogtreecommitdiff
path: root/src/tools/irm/irm_unbind_program.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/irm/irm_unbind_program.c')
-rw-r--r--src/tools/irm/irm_unbind_program.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/tools/irm/irm_unbind_program.c b/src/tools/irm/irm_unbind_program.c
index 031b9909..4ee8ce24 100644
--- a/src/tools/irm/irm_unbind_program.c
+++ b/src/tools/irm/irm_unbind_program.c
@@ -57,15 +57,25 @@ int do_unbind_program(int argc,
char * name = NULL;
char * prog = NULL;
+ if (argc < 1) {
+ usage();
+ return -1;
+ }
+
+ prog = *argv;
+ ++argv;
+ --argc;
+
while (argc > 0) {
+ if (argc < 2) {
+ usage();
+ return -1;
+ }
+
if (matches(*argv, "name") == 0) {
name = *(argv + 1);
++argv;
--argc;
- } else if (matches(*argv, "program") == 0) {
- prog = *(argv + 1);
- ++argv;
- --argc;
} else {
printf("\"%s\" is unknown, try \"irm "
"unbind program\".\n", *argv);