1
0
Fork 0
mirror of https://git.tukaani.org/xz.git synced 2024-04-04 12:36:23 +02:00

In lzma_read_match_distances(), don't use

coder->lz.stream_end_was_reached. That variable
will be removed, and the check isn't required anyway.
Rearrange the check so that it doesn't make one to
think that there could be an integer overflow.
This commit is contained in:
Lasse Collin 2008-01-14 12:08:02 +02:00
parent a670fec802
commit 3e09e1c058

View file

@ -197,12 +197,12 @@ lzma_read_match_distances(lzma_coder *coder,
uint32_t limit = MATCH_MAX_LEN - *len_res; uint32_t limit = MATCH_MAX_LEN - *len_res;
assert(offset + limit < coder->lz.keep_size_after); assert(offset + limit < coder->lz.keep_size_after);
assert(coder->lz.read_pos <= coder->lz.write_pos);
// If we are close to end of the stream, we may need // If we are close to end of the stream, we may need
// to limit the length of the match. // to limit the length of the match.
if (coder->lz.stream_end_was_reached if (coder->lz.write_pos - coder->lz.read_pos
&& coder->lz.write_pos < offset + limit)
< coder->lz.read_pos + offset + limit)
limit = coder->lz.write_pos limit = coder->lz.write_pos
- (coder->lz.read_pos + offset); - (coder->lz.read_pos + offset);