mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 13:45:38 +00:00
virHostValidateBhyve: Heap allocate massive 'struct kld_file_stat'
Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Kristina Hanicova <khanicov@redhat.com>
This commit is contained in:
parent
63caa5e71e
commit
6caf51d527
@ -49,24 +49,24 @@ int virHostValidateBhyve(void)
|
|||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
int fileid = 0;
|
int fileid = 0;
|
||||||
struct kld_file_stat stat;
|
g_autofree struct kld_file_stat *stat = g_new0(struct kld_file_stat, 1);
|
||||||
bool vmm_loaded = false;
|
bool vmm_loaded = false;
|
||||||
bool if_tap_loaded = false;
|
bool if_tap_loaded = false;
|
||||||
bool if_bridge_loaded = false;
|
bool if_bridge_loaded = false;
|
||||||
bool nmdm_loaded = false;
|
bool nmdm_loaded = false;
|
||||||
|
|
||||||
for (fileid = kldnext(0); fileid > 0; fileid = kldnext(fileid)) {
|
for (fileid = kldnext(0); fileid > 0; fileid = kldnext(fileid)) {
|
||||||
stat.version = sizeof(struct kld_file_stat);
|
stat->version = sizeof(struct kld_file_stat);
|
||||||
if (kldstat(fileid, &stat) < 0)
|
if (kldstat(fileid, stat) < 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (STREQ(stat.name, "vmm.ko"))
|
if (STREQ(stat->name, "vmm.ko"))
|
||||||
vmm_loaded = true;
|
vmm_loaded = true;
|
||||||
else if (STREQ(stat.name, "if_tap.ko"))
|
else if (STREQ(stat->name, "if_tap.ko"))
|
||||||
if_tap_loaded = true;
|
if_tap_loaded = true;
|
||||||
else if (STREQ(stat.name, "if_bridge.ko"))
|
else if (STREQ(stat->name, "if_bridge.ko"))
|
||||||
if_bridge_loaded = true;
|
if_bridge_loaded = true;
|
||||||
else if (STREQ(stat.name, "nmdm.ko"))
|
else if (STREQ(stat->name, "nmdm.ko"))
|
||||||
nmdm_loaded = true;
|
nmdm_loaded = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user