From 6caf51d527883ce73f859d80f15c276af9eec37c Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Tue, 20 Sep 2022 12:08:50 +0200 Subject: [PATCH] virHostValidateBhyve: Heap allocate massive 'struct kld_file_stat' Signed-off-by: Peter Krempa Reviewed-by: Kristina Hanicova --- tools/virt-host-validate-bhyve.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tools/virt-host-validate-bhyve.c b/tools/virt-host-validate-bhyve.c index 9457fac9a5..db1cdd8e2c 100644 --- a/tools/virt-host-validate-bhyve.c +++ b/tools/virt-host-validate-bhyve.c @@ -49,24 +49,24 @@ int virHostValidateBhyve(void) { int ret = 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 if_tap_loaded = false; bool if_bridge_loaded = false; bool nmdm_loaded = false; for (fileid = kldnext(0); fileid > 0; fileid = kldnext(fileid)) { - stat.version = sizeof(struct kld_file_stat); - if (kldstat(fileid, &stat) < 0) + stat->version = sizeof(struct kld_file_stat); + if (kldstat(fileid, stat) < 0) continue; - if (STREQ(stat.name, "vmm.ko")) + if (STREQ(stat->name, "vmm.ko")) vmm_loaded = true; - else if (STREQ(stat.name, "if_tap.ko")) + else if (STREQ(stat->name, "if_tap.ko")) if_tap_loaded = true; - else if (STREQ(stat.name, "if_bridge.ko")) + else if (STREQ(stat->name, "if_bridge.ko")) if_bridge_loaded = true; - else if (STREQ(stat.name, "nmdm.ko")) + else if (STREQ(stat->name, "nmdm.ko")) nmdm_loaded = true; }