[PATCH spice-server] glz-encoder: Do not discard top bits of lower part sending 64 bit ints

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx>

Reported-by: Zhongqiang Huang <useprxf@xxxxxxxxx>
Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx>
---
 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

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]