diff --git a/lib/decompress_unlzo.c b/lib/decompress_unlzo.c index 6e56d547ba32849666cbb1abc2a2f7e194fee1d5..855d9d30ec4577300a128bf5d17f4f5c380362af 100644 --- a/lib/decompress_unlzo.c +++ b/lib/decompress_unlzo.c @@ -187,8 +187,8 @@ STATIC inline int INIT unlzo(u8 *input, int in_len, } } - if (flush) - flush(out_buf, dst_len); + if (flush && flush(out_buf, dst_len) != dst_len) + goto exit_2; if (output) out_buf += dst_len; if (posp)