summaryrefslogtreecommitdiffstats
path: root/lib/libkvm/kvm_getswapinfo.c
diff options
context:
space:
mode:
authordillon <dillon@FreeBSD.org>1999-02-06 06:31:57 +0000
committerdillon <dillon@FreeBSD.org>1999-02-06 06:31:57 +0000
commit4ddefa431594d651b720e31c5d78a278ece77354 (patch)
treee9794ca48e920fa4eb4e2fc1a86bd01210d3dae6 /lib/libkvm/kvm_getswapinfo.c
parent4435d086fa4374c8a6b2091bf4acccf59f7db3d0 (diff)
downloadFreeBSD-src-4ddefa431594d651b720e31c5d78a278ece77354.zip
FreeBSD-src-4ddefa431594d651b720e31c5d78a278ece77354.tar.gz
Handle case where no swap is configured
Diffstat (limited to 'lib/libkvm/kvm_getswapinfo.c')
-rw-r--r--lib/libkvm/kvm_getswapinfo.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/libkvm/kvm_getswapinfo.c b/lib/libkvm/kvm_getswapinfo.c
index b9353de..596e6bc 100644
--- a/lib/libkvm/kvm_getswapinfo.c
+++ b/lib/libkvm/kvm_getswapinfo.c
@@ -14,7 +14,7 @@ static const char copyright[] =
#ifndef lint
static const char rcsid[] =
- "$Id: kvm_getswapinfo.c,v 1.3 1999/01/25 04:07:07 dillon Exp $";
+ "$Id: kvm_getswapinfo.c,v 1.4 1999/01/27 11:29:15 bde Exp $";
#endif /* not lint */
#include <sys/param.h>
@@ -127,10 +127,10 @@ kvm_getswapinfo(
KGET(NL_NSWDEV, nswdev);
KGET(NL_DMMAX, dmmax);
- if (kvm_swap_nl[NL_SWAPLIST].n_value)
+ if (kvm_swap_nl[NL_SWAPLIST].n_type != N_UNDF)
type = 1;
- if (kvm_swap_nl[NL_SWAPBLIST].n_value)
+ if (kvm_swap_nl[NL_SWAPBLIST].n_type != N_UNDF)
type = 2;
/*
@@ -406,6 +406,13 @@ getswapinfo_radix(kvm_t *kd, struct kvm_swap *swap_ary, int swap_max, int flags)
struct blist blcopy = { 0 };
KGET(NL_SWAPBLIST, swapblist);
+
+ if (swapblist == NULL) {
+ if (flags & SWIF_DUMP_TREE)
+ printf("radix tree: NULL - no swap in system\n");
+ return;
+ }
+
KGET2(swapblist, &blcopy, sizeof(blcopy), "*swapblist");
if (flags & SWIF_DUMP_TREE) {
OpenPOWER on IntegriCloud