diff options
| author | Scott Long <scottl@FreeBSD.org> | 2003-06-07 20:02:56 +0000 |
|---|---|---|
| committer | Scott Long <scottl@FreeBSD.org> | 2003-06-07 20:02:56 +0000 |
| commit | 4e89f2d88f838dcb7c696134568389e318011926 (patch) | |
| tree | edce4a90102aa4156fa73b8deab6017032f9d174 /lib/libdisk/disk.c | |
| parent | f9b96756eba3e97f4eacbafec33904df50f61349 (diff) | |
Notes
Diffstat (limited to 'lib/libdisk/disk.c')
| -rw-r--r-- | lib/libdisk/disk.c | 5 |
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; |
