X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=lib%2Fxz%2Fxz_dec_lzma2.c;h=a6cdc969ea42a7b5df5e74e8cb4d712f6f7bbd3b;hb=99e1c1398f44a056b16e78122133988c82b66d97;hp=ea5fa4fe9d67879aa47be92ad9220a4d8d1beb31;hpb=c151694b2c48d956ac8c8c59c6927f89cc29ef70;p=~andy%2Flinux diff --git a/lib/xz/xz_dec_lzma2.c b/lib/xz/xz_dec_lzma2.c index ea5fa4fe9d6..a6cdc969ea4 100644 --- a/lib/xz/xz_dec_lzma2.c +++ b/lib/xz/xz_dec_lzma2.c @@ -969,6 +969,9 @@ XZ_EXTERN enum xz_ret xz_dec_lzma2_run(struct xz_dec_lzma2 *s, */ tmp = b->in[b->in_pos++]; + if (tmp == 0x00) + return XZ_STREAM_END; + if (tmp >= 0xE0 || tmp == 0x01) { s->lzma2.need_props = true; s->lzma2.need_dict_reset = false; @@ -1001,9 +1004,6 @@ XZ_EXTERN enum xz_ret xz_dec_lzma2_run(struct xz_dec_lzma2 *s, lzma_reset(s); } } else { - if (tmp == 0x00) - return XZ_STREAM_END; - if (tmp > 0x02) return XZ_DATA_ERROR;