summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Henderson2022-09-29 13:42:16 +0200
committerAlex Bennée2022-10-06 12:53:40 +0200
commit5413c37f3b2acdae53c19ed16632c723fc93f109 (patch)
treeb2cba7252a7543315c831ed98209b1db07a6b0cb
parentplugins: extend execlog to filter matches (diff)
downloadqemu-5413c37f3b2acdae53c19ed16632c723fc93f109.tar.gz
qemu-5413c37f3b2acdae53c19ed16632c723fc93f109.tar.xz
qemu-5413c37f3b2acdae53c19ed16632c723fc93f109.zip
plugins: Assert mmu_idx in range before use in qemu_plugin_get_hwaddr
Coverity reports out-of-bound accesses here. This should be a false positive due to how the index is decoded from MemOpIdx. Fixes: Coverity CID 1487201 Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Damien Hedde <damien.hedde@greensocs.com> Message-Id: <20220401190233.329360-1-richard.henderson@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20220929114231.583801-37-alex.bennee@linaro.org>
-rw-r--r--plugins/api.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/plugins/api.c b/plugins/api.c
index 7bf71b189d..2078b16edb 100644
--- a/plugins/api.c
+++ b/plugins/api.c
@@ -289,6 +289,8 @@ struct qemu_plugin_hwaddr *qemu_plugin_get_hwaddr(qemu_plugin_meminfo_t info,
enum qemu_plugin_mem_rw rw = get_plugin_meminfo_rw(info);
hwaddr_info.is_store = (rw & QEMU_PLUGIN_MEM_W) != 0;
+ assert(mmu_idx < NB_MMU_MODES);
+
if (!tlb_plugin_lookup(cpu, vaddr, mmu_idx,
hwaddr_info.is_store, &hwaddr_info)) {
error_report("invalid use of qemu_plugin_get_hwaddr");