diff options
author | Bruce Evans <bde@FreeBSD.org> | 2000-08-12 21:08:42 +0000 |
---|---|---|
committer | Bruce Evans <bde@FreeBSD.org> | 2000-08-12 21:08:42 +0000 |
commit | c6e4d7c5bad68558e05ba776fac741e713a558d0 (patch) | |
tree | b725cee1330043e275d01951075c28c61e6e1dbb /sys/compat | |
parent | b10fc2ddef88c0eec50b0147aec00558ed0d5252 (diff) | |
download | src-c6e4d7c5bad68558e05ba776fac741e713a558d0.tar.gz src-c6e4d7c5bad68558e05ba776fac741e713a558d0.zip |
Fixed null pointer panic for accessing "meminfo" when there is no swap.
Notes
Notes:
svn path=/head/; revision=64560
Diffstat (limited to 'sys/compat')
-rw-r--r-- | sys/compat/linprocfs/linprocfs.c | 9 | ||||
-rw-r--r-- | sys/compat/linprocfs/linprocfs_misc.c | 9 |
2 files changed, 14 insertions, 4 deletions
diff --git a/sys/compat/linprocfs/linprocfs.c b/sys/compat/linprocfs/linprocfs.c index 4babe746d3a4..5d780830282a 100644 --- a/sys/compat/linprocfs/linprocfs.c +++ b/sys/compat/linprocfs/linprocfs.c @@ -99,8 +99,13 @@ linprocfs_domeminfo(curp, p, pfs, uio) */ memused = cnt.v_wire_count * PAGE_SIZE; memfree = memtotal - memused; - swaptotal = swapblist->bl_blocks * 1024; /* XXX why 1024? */ - swapfree = swapblist->bl_root->u.bmu_avail * PAGE_SIZE; + if (swapblist == NULL) { + swaptotal = 0; + swapfree = 0; + } else { + swaptotal = swapblist->bl_blocks * 1024; /* XXX why 1024? */ + swapfree = swapblist->bl_root->u.bmu_avail * PAGE_SIZE; + } swapused = swaptotal - swapfree; memshared = 0; for (object = TAILQ_FIRST(&vm_object_list); object != NULL; diff --git a/sys/compat/linprocfs/linprocfs_misc.c b/sys/compat/linprocfs/linprocfs_misc.c index 4babe746d3a4..5d780830282a 100644 --- a/sys/compat/linprocfs/linprocfs_misc.c +++ b/sys/compat/linprocfs/linprocfs_misc.c @@ -99,8 +99,13 @@ linprocfs_domeminfo(curp, p, pfs, uio) */ memused = cnt.v_wire_count * PAGE_SIZE; memfree = memtotal - memused; - swaptotal = swapblist->bl_blocks * 1024; /* XXX why 1024? */ - swapfree = swapblist->bl_root->u.bmu_avail * PAGE_SIZE; + if (swapblist == NULL) { + swaptotal = 0; + swapfree = 0; + } else { + swaptotal = swapblist->bl_blocks * 1024; /* XXX why 1024? */ + swapfree = swapblist->bl_root->u.bmu_avail * PAGE_SIZE; + } swapused = swaptotal - swapfree; memshared = 0; for (object = TAILQ_FIRST(&vm_object_list); object != NULL; |