[PATCH] lzo: Add some missing casts

Richard Purdie
2007-07-27T23:31:21Z

Add some casts to the LZO compression algorithm after they were removed
during cleanup and shouldn't have been.

Signed-off-by: Richard Purdie <rpurdie@openedhand.com>

---

This fixes the reported problems for me, I've checked fairly carefully
and I can't see any other issues. Edward, could you see if this resolves
the problems in your case please?

Index: linux-2.6.22/lib/lzo/lzo1x_compress.c
===================================================================
--- linux-2.6.22.orig/lib/lzo/lzo1x_compress.c
+++ linux-2.6.22/lib/lzo/lzo1x_compress.c
@@ -32,13 +32,13 @@ _lzo1x_1_do_compress(const unsigned char
ip += 4;

for (;;) {
- dindex = ((0x21 * DX3(ip, 5, 5, 6)) >> 5) & D_MASK;
+ dindex = ((size_t)(0x21 * DX3(ip, 5, 5, 6)) >> 5) & D_MASK;
m_pos = dict[dindex];

if (m_pos < in)
goto literal;

- if (ip == m_pos || (ip - m_pos) > M4_MAX_OFFSET)
+ if (ip == m_pos || ((size_t)(ip - m_pos) > M4_MAX_OFFSET))
goto literal;

m_off = ip - m_pos;
@@ -51,7 +51,7 @@ _lzo1x_1_do_compress(const unsigned char
if (m_pos < in)
goto literal;

- if (ip == m_pos || (ip - m_pos) > M4_MAX_OFFSET)
+ if (ip == m_pos || ((size_t)(ip - m_pos) > M4_MAX_OFFSET))
goto literal;

m_off = ip - m_pos;