aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/liblzma/common/block_buffer_decoder.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/liblzma/common/block_buffer_decoder.c b/src/liblzma/common/block_buffer_decoder.c
index ec24e44b..9f95637c 100644
--- a/src/liblzma/common/block_buffer_decoder.c
+++ b/src/liblzma/common/block_buffer_decoder.c
@@ -50,10 +50,6 @@ lzma_block_buffer_decode(lzma_block *block, lzma_allocator *allocator,
if (ret == LZMA_STREAM_END) {
ret = LZMA_OK;
} else {
- // Something went wrong, restore the positions.
- *in_pos = in_start;
- *out_pos = out_start;
-
if (ret == LZMA_OK) {
// Either the input was truncated or the
// output buffer was too small.
@@ -75,6 +71,10 @@ lzma_block_buffer_decode(lzma_block *block, lzma_allocator *allocator,
else
ret = LZMA_BUF_ERROR;
}
+
+ // Restore the positions.
+ *in_pos = in_start;
+ *out_pos = out_start;
}
}