mirror of https://github.com/xemu-project/xemu.git
hw/mem/cxl_type3: Fix potential divide by zero reported by coverity
Fixes Coverity ID 1522368. Currently error_fatal is set if interleave_ways_dec() is going to return 0 but we should handle that zero return explicitly. Reported-by: Stefan Hajnoczi <stefanha@gmail.com> Reviewed-by: Fan Ni <fan.ni@samsung.com> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Message-Id: <20240126120132.24248-10-Jonathan.Cameron@huawei.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
f8b02dd655
commit
48461825af
|
@ -794,8 +794,13 @@ static bool cxl_type3_dpa(CXLType3Dev *ct3d, hwaddr host_addr, uint64_t *dpa)
|
|||
}
|
||||
if (((uint64_t)host_addr < decoder_base) ||
|
||||
(hpa_offset >= decoder_size)) {
|
||||
dpa_base += decoder_size /
|
||||
cxl_interleave_ways_dec(iw, &error_fatal);
|
||||
int decoded_iw = cxl_interleave_ways_dec(iw, &error_fatal);
|
||||
|
||||
if (decoded_iw == 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
dpa_base += decoder_size / decoded_iw;
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue