diff options
author | 2009-07-21 14:10:14 +0000 | |
---|---|---|
committer | 2009-07-21 14:10:14 +0000 | |
commit | 99e53febf88c48dfd377d46b6761bf71fe3076ce (patch) | |
tree | d7f55f288ca8a7e14362c832522bda507af6973a | |
parent | Add a family flag for the original 5700 series chipsets. Idea from FreeBSD. (diff) | |
download | wireguard-openbsd-99e53febf88c48dfd377d46b6761bf71fe3076ce.tar.xz wireguard-openbsd-99e53febf88c48dfd377d46b6761bf71fe3076ce.zip |
Handle the case where so_pcb is NULL.
-rw-r--r-- | lib/libkvm/kvm_file2.c | 6 | ||||
-rw-r--r-- | sys/kern/kern_sysctl.c | 4 |
2 files changed, 7 insertions, 3 deletions
diff --git a/lib/libkvm/kvm_file2.c b/lib/libkvm/kvm_file2.c index 0a5daed9c73..4eafc0aa4fc 100644 --- a/lib/libkvm/kvm_file2.c +++ b/lib/libkvm/kvm_file2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kvm_file2.c,v 1.10 2009/07/08 18:59:11 millert Exp $ */ +/* $OpenBSD: kvm_file2.c,v 1.11 2009/07/21 14:10:15 millert Exp $ */ /* * Copyright (c) 2009 Todd C. Miller <Todd.Miller@courtesan.com> @@ -46,7 +46,7 @@ */ #if defined(LIBC_SCCS) && !defined(lint) -static char *rcsid = "$OpenBSD: kvm_file2.c,v 1.10 2009/07/08 18:59:11 millert Exp $"; +static char *rcsid = "$OpenBSD: kvm_file2.c,v 1.11 2009/07/21 14:10:15 millert Exp $"; #endif /* LIBC_SCCS and not lint */ /* @@ -525,6 +525,8 @@ fill_file2(kvm_t *kd, struct kinfo_file2 *kf, struct file *fp, struct vnode *vp, return (-1); } kf->so_family = domain.dom_family; + if (!sock.so_pcb) + break; switch (kf->so_family) { case AF_INET: { struct inpcb inpcb; diff --git a/sys/kern/kern_sysctl.c b/sys/kern/kern_sysctl.c index 86a14a2f8b1..82b2bd64b2f 100644 --- a/sys/kern/kern_sysctl.c +++ b/sys/kern/kern_sysctl.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kern_sysctl.c,v 1.176 2009/07/19 12:56:19 millert Exp $ */ +/* $OpenBSD: kern_sysctl.c,v 1.177 2009/07/21 14:10:14 millert Exp $ */ /* $NetBSD: kern_sysctl.c,v 1.17 1996/05/20 17:49:05 mrg Exp $ */ /*- @@ -1086,6 +1086,8 @@ fill_file2(struct kinfo_file2 *kf, struct file *fp, struct filedesc *fdp, kf->so_pcb = PTRTOINT64(so->so_pcb); kf->so_protocol = so->so_proto->pr_protocol; kf->so_family = so->so_proto->pr_domain->dom_family; + if (!so->so_pcb) + break; switch (kf->so_family) { case AF_INET: { struct inpcb *inpcb = so->so_pcb; |