aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--linux/lib/decompress_unxz.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/linux/lib/decompress_unxz.c b/linux/lib/decompress_unxz.c
index c6eabd7..000332c 100644
--- a/linux/lib/decompress_unxz.c
+++ b/linux/lib/decompress_unxz.c
@@ -319,7 +319,8 @@ STATIC int INIT unxz(unsigned char *in, int in_size,
ret = xz_dec_run(s, &b);
- if (b.out_pos == b.out_size || ret != XZ_OK) {
+ if (b.out_pos == b.out_size
+ || (ret != XZ_OK && b.out_pos > 0)) {
/*
* Setting ret here may hide an error
* returned by xz_dec_run(), but probably