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;
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to