ppc/pnv: Fix potential overflow in I2C model
commit8bc5ae046d15fcd3e5de65225d5d3a8f1a5a6413
authorCédric Le Goater <clg@kaod.org>
Thu, 9 Nov 2023 17:15:25 +0000 (9 18:15 +0100)
committerCédric Le Goater <clg@kaod.org>
Tue, 21 Nov 2023 07:39:57 +0000 (21 08:39 +0100)
tree46e6800ea060c132338f3e0c093e8b1add6765ed
parentaf9264da80073435fd78944bc5a46e695897d7e5
ppc/pnv: Fix potential overflow in I2C model

Coverity warns that "i2c_bus_busy(i2c->busses[i]) << i" might overflow
because the expression is evaluated using 32-bit arithmetic and then
used in a context expecting a uint64_t.

While we are at it, introduce a PNV_I2C_MAX_BUSSES constant and check
the number of busses at realize time.

Fixes: Coverity CID 1523918
Cc: Glenn Miles <milesg@linux.vnet.ibm.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Glenn Miles <milesg@linux.vnet.ibm.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
hw/ppc/pnv_i2c.c