@samitouri / QOSamiQemu / commits / 1a1cfc0a32

contrib/plugins/bbv.c: Check if file is NULL

The file pointer can be NULL when e.g., opening the file failed. vcpu_interval_exec() already implements a NULL-pointer check, but plugin_exit() misses it. Handle the condition by adding the missing check to plugin_exit(). Fixes: 0d279bec0f14 ("contrib/plugins: Add a plugin to generate basic block vectors") Signed-off-by: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp> Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Link: https://lore.kernel.org/qemu-devel/20260307-bbv-v1-1-d5757d1deac8@rsg.ci.i.u-tokyo.ac.jp Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>

Akihiko Odaki committed Mar 7, 2026 at 12:22 UTC 1a1cfc0a32b4345d5ef3f643994ae409eac9b164
1 file changed +6 -1
contrib/plugins/bbv.c
+6 -1
@@ -30,8 +30,13 @@ static uint64_t interval = 100000000;
30
31 static void plugin_exit(qemu_plugin_id_t id, void *p)
32 {
33 + Vcpu *vcpu;
34 +
35 for (int i = 0; i < qemu_plugin_num_vcpus(); i++) {
34 - fclose(((Vcpu *)qemu_plugin_scoreboard_find(vcpus, i))->file);
36 + vcpu = qemu_plugin_scoreboard_find(vcpus, i);
37 + if (vcpu->file) {
38 + fclose(vcpu->file);
39 + }
40 }
41
42 g_hash_table_unref(bbs);