Index: src/liblzma/lzma/lzma2_decoder.c |
=================================================================== |
--- src/liblzma/lzma/lzma2_decoder.c (revision 50504) |
+++ src/liblzma/lzma/lzma2_decoder.c (working copy) |
@@ -67,6 +67,10 @@ |
const uint32_t control = in[*in_pos]; |
++*in_pos; |
+ // End marker |
+ if (control == 0x00) |
+ return LZMA_STREAM_END; |
+ |
if (control >= 0xE0 || control == 1) { |
// Dictionary reset implies that next LZMA chunk has |
// to set new properties. |
@@ -104,10 +108,6 @@ |
&coder->options); |
} |
} else { |
- // End marker |
- if (control == 0x00) |
- return LZMA_STREAM_END; |
- |
// Invalid control values |
if (control > 2) |
return LZMA_DATA_ERROR; |
@@ -191,7 +191,6 @@ |
case SEQ_COPY: { |
// Copy from input to the dictionary as is. |
- // FIXME Can copy too much? |
dict_write(dict, in, in_pos, in_size, &coder->compressed_size); |
if (coder->compressed_size != 0) |
return LZMA_OK; |