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>
This commit is contained in:
parent
b7855bf65f
commit
5413c37f3b
@ -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);
|
enum qemu_plugin_mem_rw rw = get_plugin_meminfo_rw(info);
|
||||||
hwaddr_info.is_store = (rw & QEMU_PLUGIN_MEM_W) != 0;
|
hwaddr_info.is_store = (rw & QEMU_PLUGIN_MEM_W) != 0;
|
||||||
|
|
||||||
|
assert(mmu_idx < NB_MMU_MODES);
|
||||||
|
|
||||||
if (!tlb_plugin_lookup(cpu, vaddr, mmu_idx,
|
if (!tlb_plugin_lookup(cpu, vaddr, mmu_idx,
|
||||||
hwaddr_info.is_store, &hwaddr_info)) {
|
hwaddr_info.is_store, &hwaddr_info)) {
|
||||||
error_report("invalid use of qemu_plugin_get_hwaddr");
|
error_report("invalid use of qemu_plugin_get_hwaddr");
|
||||||
|
Loading…
Reference in New Issue
Block a user