diff options
Diffstat (limited to 'lib/xz/xz_dec_lzma2.c')
| -rw-r--r-- | lib/xz/xz_dec_lzma2.c | 6 | 
1 files changed, 3 insertions, 3 deletions
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;  |