From: Luc Michel <luc.mic...@amd.com> The CRC was stored in an unsigned variable in gem_receive. Change it for a uint32_t to ensure we have the correct variable size here.
Signed-off-by: Luc Michel <luc.mic...@amd.com> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: sai.pavan.bo...@amd.com Message-id: 20231017194422.4124691-12-luc.mic...@amd.com Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> --- hw/net/cadence_gem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c index 06a101bfcd4..5b989f5b523 100644 --- a/hw/net/cadence_gem.c +++ b/hw/net/cadence_gem.c @@ -1105,7 +1105,7 @@ static ssize_t gem_receive(NetClientState *nc, const uint8_t *buf, size_t size) if (FIELD_EX32(s->regs[R_NWCFG], NWCFG, FCS_REMOVE)) { rxbuf_ptr = (void *)buf; } else { - unsigned crc_val; + uint32_t crc_val; if (size > MAX_FRAME_SIZE - sizeof(crc_val)) { size = MAX_FRAME_SIZE - sizeof(crc_val); -- 2.34.1