From 73ccda8b4be53435cc8acb14fc5ba22a571cd31a Mon Sep 17 00:00:00 2001 From: Alwin Berger Date: Wed, 9 Nov 2022 13:35:56 +0100 Subject: [PATCH] libafl_qemu: fallback cpu for read-/write_mem In systemmode, current_cpu may not be set. In such cases use the first cpus memory access methods. --- libafl_qemu/src/emu.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libafl_qemu/src/emu.rs b/libafl_qemu/src/emu.rs index 01389df9f3..c4fba77c7e 100644 --- a/libafl_qemu/src/emu.rs +++ b/libafl_qemu/src/emu.rs @@ -658,11 +658,15 @@ impl Emulator { } pub unsafe fn write_mem(&self, addr: GuestAddr, buf: &[u8]) { - self.current_cpu().unwrap().write_mem(addr, buf); + self.current_cpu() + .unwrap_or(self.cpu_from_index(0)) + .write_mem(addr, buf); } pub unsafe fn read_mem(&self, addr: GuestAddr, buf: &mut [u8]) { - self.current_cpu().unwrap().read_mem(addr, buf); + self.current_cpu() + .unwrap_or(self.cpu_from_index(0)) + .read_mem(addr, buf); } #[must_use]