unlzma: add comments about possible bug from BZ 2689
authorDenys Vlasenko <vda.linux@googlemail.com>
Fri, 28 Feb 2014 14:42:10 +0000 (15:42 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Fri, 28 Feb 2014 14:42:10 +0000 (15:42 +0100)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
archival/libarchive/decompress_unlzma.c

index a89b846a0a1de527b67595fbfb2512f56a6dafe2..3d99e1388ed670ec23bb4581ca17b3dc3a725323 100644 (file)
@@ -237,6 +237,9 @@ unpack_lzma_stream(transformer_aux_data_t *aux UNUSED_PARAM, int src_fd, int dst
        pos_state_mask = (1 << pb) - 1;
        literal_pos_mask = (1 << lp) - 1;
 
+       /* Example values from linux-3.3.4.tar.lzma:
+        * dict_size: 64M, dst_size: 2^64-1
+        */
        header.dict_size = SWAP_LE32(header.dict_size);
        header.dst_size = SWAP_LE64(header.dst_size);
 
@@ -443,6 +446,9 @@ unpack_lzma_stream(transformer_aux_data_t *aux UNUSED_PARAM, int src_fd, int dst
                                }
                                len--;
                        } while (len != 0 && buffer_pos < header.dst_size);
+                       /* FIXME: ...........^^^^^
+                        * shouldn't it be "global_pos + buffer_pos < header.dst_size"?
+                        */
                }
        }