summaryrefslogtreecommitdiffstats
path: root/usr.bin/killall
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2012-06-30 16:20:01 +0000
committerkib <kib@FreeBSD.org>2012-06-30 16:20:01 +0000
commit23984258873d2469108f67a6085e0bc92aad0105 (patch)
treeb786db6aaf84305e7d376390cc4f1f5a92c39001 /usr.bin/killall
parentd339b713050e37bc4b3ec9131096ac110b8529ac (diff)
downloadFreeBSD-src-23984258873d2469108f67a6085e0bc92aad0105.zip
FreeBSD-src-23984258873d2469108f67a6085e0bc92aad0105.tar.gz
Initialize procs closer to the place were it is used.
Free can properly handle NULL pointer (but keep free() call on the premise that the code might be reused). Show errno when realloc failed. MFC after: 3 days
Diffstat (limited to 'usr.bin/killall')
-rw-r--r--usr.bin/killall/killall.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/usr.bin/killall/killall.c b/usr.bin/killall/killall.c
index 89db399..4a1d2b0 100644
--- a/usr.bin/killall/killall.c
+++ b/usr.bin/killall/killall.c
@@ -90,7 +90,7 @@ nosig(char *name)
int
main(int ac, char **av)
{
- struct kinfo_proc *procs = NULL, *newprocs;
+ struct kinfo_proc *procs, *newprocs;
struct stat sb;
struct passwd *pw;
regex_t rgx;
@@ -292,14 +292,14 @@ main(int ac, char **av)
miblen = 4;
}
+ procs = NULL;
st = sysctl(mib, miblen, NULL, &size, NULL, 0);
do {
size += size / 10;
newprocs = realloc(procs, size);
- if (newprocs == 0) {
- if (procs)
- free(procs);
- errx(1, "could not reallocate memory");
+ if (newprocs == NULL) {
+ free(procs);
+ err(1, "could not reallocate memory");
}
procs = newprocs;
st = sysctl(mib, miblen, procs, &size, NULL, 0);
OpenPOWER on IntegriCloud