From 1a1cfc0a32b4345d5ef3f643994ae409eac9b164 Mon Sep 17 00:00:00 2001 From: Akihiko Odaki Date: Sat, 7 Mar 2026 12:22:25 +0900 Subject: [PATCH] contrib/plugins/bbv.c: Check if file is NULL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Pierrick Bouvier Reviewed-by: Philippe Mathieu-Daudé Link: https://lore.kernel.org/qemu-devel/20260307-bbv-v1-1-d5757d1deac8@rsg.ci.i.u-tokyo.ac.jp Signed-off-by: Pierrick Bouvier --- contrib/plugins/bbv.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/contrib/plugins/bbv.c b/contrib/plugins/bbv.c index b9da6f815e..5913cc6c63 100644 --- a/contrib/plugins/bbv.c +++ b/contrib/plugins/bbv.c @@ -30,8 +30,13 @@ static uint64_t interval = 100000000; static void plugin_exit(qemu_plugin_id_t id, void *p) { + Vcpu *vcpu; + for (int i = 0; i < qemu_plugin_num_vcpus(); i++) { - fclose(((Vcpu *)qemu_plugin_scoreboard_find(vcpus, i))->file); + vcpu = qemu_plugin_scoreboard_find(vcpus, i); + if (vcpu->file) { + fclose(vcpu->file); + } } g_hash_table_unref(bbs);