summaryrefslogtreecommitdiff
path: root/lib/libdisk/disk.c
diff options
context:
space:
mode:
authorScott Long <scottl@FreeBSD.org>2003-06-07 20:02:56 +0000
committerScott Long <scottl@FreeBSD.org>2003-06-07 20:02:56 +0000
commit4e89f2d88f838dcb7c696134568389e318011926 (patch)
treeedce4a90102aa4156fa73b8deab6017032f9d174 /lib/libdisk/disk.c
parentf9b96756eba3e97f4eacbafec33904df50f61349 (diff)
Notes
Diffstat (limited to 'lib/libdisk/disk.c')
-rw-r--r--lib/libdisk/disk.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/libdisk/disk.c b/lib/libdisk/disk.c
index c750c2b43776..ae79d2909916 100644
--- a/lib/libdisk/disk.c
+++ b/lib/libdisk/disk.c
@@ -470,6 +470,9 @@ Disk_Names()
return NULL;
}
+ if (listsize == 0)
+ return (NULL);
+
disks = malloc(sizeof *disks * (1 + MAX_NO_DISKS));
if (disks == NULL)
return NULL;
@@ -481,7 +484,7 @@ Disk_Names()
memset(disks,0,sizeof *disks * (1 + MAX_NO_DISKS));
memset(disklist, 0, listsize + 1);
error = sysctlbyname("kern.disks", disklist, &listsize, NULL, 0);
- if (error) {
+ if (error || disklist[0] == 0) {
free(disklist);
free(disks);
return NULL;