From d160ee32598c6d1cd9054ef019e8c9331208b188 Mon Sep 17 00:00:00 2001 From: Lasse Collin Date: Sat, 5 Jan 2008 01:20:24 +0200 Subject: [PATCH] Another bug fix for flush marker detection. --- src/liblzma/lzma/lzma_decoder.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/liblzma/lzma/lzma_decoder.c b/src/liblzma/lzma/lzma_decoder.c index 90531c8d..fd57ac82 100644 --- a/src/liblzma/lzma/lzma_decoder.c +++ b/src/liblzma/lzma/lzma_decoder.c @@ -493,9 +493,17 @@ decode_real(lzma_coder *restrict coder, const uint8_t *restrict in, has_produced_output = false; + // We know that we have enough input to call + // this macro, because it is tested at the + // end of decode_dummy(). + rc_normalize(); + rc_reset(rc); + + // If we don't have enough input here, we jump + // out of the loop without calling rc_normalize(). if (!rc_read_init(&rc, in, &in_pos_local, in_size)) - goto out; // Avoiding rc_normalize() + goto out; } else { return true;