svn commit: r241303 - head/lib/libkvm

Andriy Gapon avg at FreeBSD.org
Sat Oct 6 20:16:04 UTC 2012


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;


More information about the svn-src-all mailing list