From: Alexander Bulekov <alx...@bu.edu> The code did not add offsets to FlatRange bases, so we did not fuzz offsets within device MemoryRegions.
Signed-off-by: Alexander Bulekov <alx...@bu.edu> Reviewed-by: Darren Kenny <darren.ke...@oracle.com> Message-Id: <20201029172901.534442-4-alx...@bu.edu> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> --- tests/qtest/fuzz/generic_fuzz.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/qtest/fuzz/generic_fuzz.c b/tests/qtest/fuzz/generic_fuzz.c index 3a5dbc3ce2..262a963d2e 100644 --- a/tests/qtest/fuzz/generic_fuzz.c +++ b/tests/qtest/fuzz/generic_fuzz.c @@ -298,6 +298,11 @@ static bool get_io_address(address_range *result, AddressSpace *as, } while (cb_info.index != index && !cb_info.found); *result = cb_info.result; + if (result->size) { + offset = offset % result->size; + result->addr += offset; + result->size -= offset; + } return cb_info.found; } -- 2.26.2