xz: fix decoding of LZMA2 streams having no uncompressed data.
No binary (build failed)
—
(log yok)
| @@ -971,6 +971,9 @@ XZ_EXTERN NOINLINE enum xz_ret XZ_FUNC xz_dec_lzma2_run( | |
| */ | |
| 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; | |
| @@ -1003,9 +1006,6 @@ XZ_EXTERN NOINLINE enum xz_ret XZ_FUNC xz_dec_lzma2_run( | |
| lzma_reset(s); | |
| } | |
| } else { | |
| - | if (tmp == 0x00) |
| - | return XZ_STREAM_END; |
| - | |
| if (tmp > 0x02) | |
| return XZ_DATA_ERROR; | |