[Spice-devel] [PATCH spice-server] glz-encoder: Do not discard top bits of lower part sending 64 bit ints
Frediano Ziglio
fziglio at redhat.com
Mon Apr 23 09:51:01 UTC 2018
When GLZ code attempts to send a 64 bit integer the 8 top bit of
the lower (32 bits) part of the number are stripped due to a bug.
This was discovered by Zhongqiang Huang <useprxf at gmail.com>
Reported-by: Zhongqiang Huang <useprxf at gmail.com>
Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
---
server/glz-encoder.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/server/glz-encoder.c b/server/glz-encoder.c
index c258726c..dba2cd12 100644
--- a/server/glz-encoder.c
+++ b/server/glz-encoder.c
@@ -84,7 +84,7 @@ static inline void encode_32(Encoder *encoder, unsigned int word)
static inline void encode_64(Encoder *encoder, uint64_t word)
{
encode_32(encoder, (uint32_t)(word >> 32));
- encode_32(encoder, (uint32_t)(word & 0xffffff));
+ encode_32(encoder, (uint32_t)(word & 0xffffffffu));
}
static inline void encode_copy_count(Encoder *encoder, uint8_t copy_count)
--
2.14.3
More information about the Spice-devel
mailing list