提交 90d6a673 编写于 作者: P Peter Maydell 提交者: Michael Tokarev

migration/qemu-file.c: Don't shift left into sign bit

Add a cast in qemu_get_be32() to avoid shifting left into the sign
bit of a signed integer (which is undefined behaviour in C).
Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
上级 2d8ac5eb
...@@ -503,7 +503,7 @@ unsigned int qemu_get_be16(QEMUFile *f) ...@@ -503,7 +503,7 @@ unsigned int qemu_get_be16(QEMUFile *f)
unsigned int qemu_get_be32(QEMUFile *f) unsigned int qemu_get_be32(QEMUFile *f)
{ {
unsigned int v; unsigned int v;
v = qemu_get_byte(f) << 24; v = (unsigned int)qemu_get_byte(f) << 24;
v |= qemu_get_byte(f) << 16; v |= qemu_get_byte(f) << 16;
v |= qemu_get_byte(f) << 8; v |= qemu_get_byte(f) << 8;
v |= qemu_get_byte(f); v |= qemu_get_byte(f);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册