summaryrefslogtreecommitdiff
path: root/src/tools/irm/irm_bind_process.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/irm/irm_bind_process.c')
-rw-r--r--src/tools/irm/irm_bind_process.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/tools/irm/irm_bind_process.c b/src/tools/irm/irm_bind_process.c
index fee0c46b..c401df14 100644
--- a/src/tools/irm/irm_bind_process.c
+++ b/src/tools/irm/irm_bind_process.c
@@ -61,20 +61,24 @@ int do_bind_process(int argc,
char * name = NULL;
char * t;
+ if (argc < 1) {
+ usage();
+ return -1;
+ }
+
+ pid = strtol(*argv, &t, 10);
+ if (*argv == t || *t != '\0' || kill(pid, 0)) {
+ printf("\"%s\" is not a valid process id.\n", *argv);
+ return -1;
+ }
+ ++argv;
+ --argc;
+
while (argc > 1) {
if (matches(*argv, "name") == 0) {
name = *(argv + 1);
++argv;
--argc;
- } else if (matches(*argv, "process") == 0) {
- pid = strtol(*(argv + 1), &t, 10);
- if (*(argv + 1) == t || *t != '\0' || kill(pid, 0)) {
- printf("\"%s\" is not a valid process id.\n",
- *(argv + 1));
- return -1;
- }
- ++argv;
- --argc;
} else {
printf("\"%s\" is unknown, try \"irm "
"bind process\".\n", *argv);