Date: Sat, 6 Oct 2012 20:16:04 +0000 (UTC) From: Andriy Gapon <avg@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r241303 - head/lib/libkvm Message-ID: <201210062016.q96KG41g033180@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: avg Date: Sat Oct 6 20:16:04 2012 New Revision: 241303 URL: http://svn.freebsd.org/changeset/base/241303 Log: kvm_getprocs: gracefully handle errors from kvm_deadprocs and don't confuse callers with incorrect return value MFC after: 9 days Modified: head/lib/libkvm/kvm_proc.c Modified: head/lib/libkvm/kvm_proc.c ============================================================================== --- head/lib/libkvm/kvm_proc.c Sat Oct 6 20:12:24 2012 (r241302) +++ head/lib/libkvm/kvm_proc.c Sat Oct 6 20:16:04 2012 (r241303) @@ -593,9 +593,15 @@ liveout: nprocs = kvm_deadprocs(kd, op, arg, nl[1].n_value, nl[2].n_value, nprocs); + if (nprocs <= 0) { + _kvm_freeprocs(kd); + nprocs = 0; + } #ifdef notdef - size = nprocs * sizeof(struct kinfo_proc); - (void)realloc(kd->procbase, size); + else { + size = nprocs * sizeof(struct kinfo_proc); + kd->procbase = realloc(kd->procbase, size); + } #endif } *cnt = nprocs;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201210062016.q96KG41g033180>