Fix uint32_t -> size_t in ARM and ARM-Thumb filters.
authorLasse Collin <lasse.collin@tukaani.org>
Wed, 15 Apr 2009 11:13:38 +0000 (14:13 +0300)
committerLasse Collin <lasse.collin@tukaani.org>
Wed, 15 Apr 2009 11:13:38 +0000 (14:13 +0300)
On 64-bit system it would have gone into infinite
loop if a single input buffer was over 4 GiB (unlikely).

src/liblzma/simple/arm.c
src/liblzma/simple/armthumb.c

index a58b9ba..46960fc 100644 (file)
@@ -19,7 +19,7 @@ arm_code(lzma_simple *simple lzma_attribute((unused)),
                uint32_t now_pos, bool is_encoder,
                uint8_t *buffer, size_t size)
 {
-       uint32_t i;
+       size_t i;
        for (i = 0; i + 4 <= size; i += 4) {
                if (buffer[i + 3] == 0xEB) {
                        uint32_t src = (buffer[i + 2] << 16)
index 77cfce1..e20151c 100644 (file)
@@ -19,7 +19,7 @@ armthumb_code(lzma_simple *simple lzma_attribute((unused)),
                uint32_t now_pos, bool is_encoder,
                uint8_t *buffer, size_t size)
 {
-       uint32_t i;
+       size_t i;
        for (i = 0; i + 4 <= size; i += 2) {
                if ((buffer[i + 1] & 0xF8) == 0xF0
                                && (buffer[i + 3] & 0xF8) == 0xF8) {