aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kill.c4
-rw-r--r--libbb/find_pid_by_name.c2
-rw-r--r--procps/kill.c4
3 files changed, 6 insertions, 4 deletions
diff --git a/kill.c b/kill.c
index fb3d72213..8745f63c1 100644
--- a/kill.c
+++ b/kill.c
@@ -218,9 +218,9 @@ extern int kill_main(int argc, char **argv)
pid_t* pidList;
pidList = find_pid_by_name( *argv);
- if (!pidList) {
+ if (!pidList || *pidList<=0) {
all_found = FALSE;
- error_msg( "%s: no process killed", *argv);
+ error_msg_and_die( "%s: no process killed", *argv);
}
for(; pidList && *pidList!=0; pidList++) {
diff --git a/libbb/find_pid_by_name.c b/libbb/find_pid_by_name.c
index 57decc69c..7f39dd41c 100644
--- a/libbb/find_pid_by_name.c
+++ b/libbb/find_pid_by_name.c
@@ -106,6 +106,7 @@ extern pid_t* find_pid_by_name( char* pidName)
pidList=xrealloc( pidList, sizeof(pid_t));
pidList[0]=1;
} else {
+ pidList=xrealloc( pidList, sizeof(pid_t));
pidList[0]=-1;
}
@@ -181,6 +182,7 @@ extern pid_t* find_pid_by_name( char* pidName)
pidList=xrealloc( pidList, sizeof(pid_t));
pidList[0]=1;
} else {
+ pidList=xrealloc( pidList, sizeof(pid_t));
pidList[0]=-1;
}
return pidList;
diff --git a/procps/kill.c b/procps/kill.c
index fb3d72213..8745f63c1 100644
--- a/procps/kill.c
+++ b/procps/kill.c
@@ -218,9 +218,9 @@ extern int kill_main(int argc, char **argv)
pid_t* pidList;
pidList = find_pid_by_name( *argv);
- if (!pidList) {
+ if (!pidList || *pidList<=0) {
all_found = FALSE;
- error_msg( "%s: no process killed", *argv);
+ error_msg_and_die( "%s: no process killed", *argv);
}
for(; pidList && *pidList!=0; pidList++) {