diff options
| author | Peter Maydell <peter.maydell@linaro.org> | 2022-07-29 16:59:32 +0100 |
|---|---|---|
| committer | Jason Wang <jasowang@redhat.com> | 2022-08-09 17:02:18 +0800 |
| commit | 7cf745dd9c25f0740dc1009598b58dd8dd989876 (patch) | |
| tree | 5deb3cbed74bac7d5c31a24390af269476e459ae /ui/input-linux.c | |
| parent | ca5f3d4df1b47d7f66a109cdb504e83dfd7ec433 (diff) | |
| download | focaccia-qemu-7cf745dd9c25f0740dc1009598b58dd8dd989876.tar.gz focaccia-qemu-7cf745dd9c25f0740dc1009598b58dd8dd989876.zip | |
hw/net/rocker: Avoid undefined shifts with more than 31 ports
In rocker_port_phys_link_status() and rocker_port_phys_enable_read() we construct a 64-bit value with one bit per front-panel port. However we accidentally do the shift as 32-bit arithmetic, which means that if there are more than 31 front-panel ports this is undefined behaviour. Fix the problem by ensuring we use 64-bit arithmetic for the whole calculation. (We won't ever shift off the 64-bit value because ROCKER_FP_PORTS_MAX is 62.) Resolves: Coverity CID 1487121, 1487160 Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Jason Wang <jasowang@redhat.com>
Diffstat (limited to 'ui/input-linux.c')
0 files changed, 0 insertions, 0 deletions