diff options
author | Frediano Ziglio <fziglio@redhat.com> | 2018-04-23 10:50:43 +0100 |
---|---|---|
committer | Frediano Ziglio <fziglio@redhat.com> | 2018-04-26 13:33:10 +0100 |
commit | 8229a323db519f1c33e77cec2e3f6516a7c402c7 (patch) | |
tree | 3ffafd4ce0b4021d571bc5b2ff9a868d0b1923ee | |
parent | b77dfdce8a8c2f1898a5173c5e6b1692d2d2601a (diff) |
glz-encoder: Do not discard top bits of lower part sending 64 bit ints0.12
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@gmail.com>
Reported-by: Zhongqiang Huang <useprxf@gmail.com>
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
-rw-r--r-- | server/glz_encoder.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/server/glz_encoder.c b/server/glz_encoder.c index d9d6be11..4cf7c2a1 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) |