]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/kern/kern_sysctl.c
xnu-124.7.tar.gz
[apple/xnu.git] / bsd / kern / kern_sysctl.c
index c7332ad0517ae7dcb575a3ded7141b79887ded45..047eb70b1a38cb0dd8958324dd1a5629e86e302e 100644 (file)
@@ -837,6 +837,7 @@ again:
                        break;
                }
                if (buflen >= sizeof(struct kinfo_proc)) {
+                       bzero(&kproc, sizeof(struct kinfo_proc));
                        fill_proc(p, &kproc, doingzomb);
                        if (error = copyout((caddr_t)&kproc, &dp->kp_proc,
                            sizeof(struct kinfo_proc)))
@@ -882,6 +883,12 @@ fill_eproc(p, ep)
 {
        register struct tty *tp;
 
+       /*
+        * Skip zombie processes.
+        */
+       if (p->p_stat == SZOMB)
+               return;
+
        ep->e_paddr = p;
        ep->e_sess = p->p_pgrp->pg_session;
        ep->e_pcred = *p->p_cred;