The decompression algorithms want all of the requested buffer size to be filled and don't cope with less bytes being returned. Use read_full to satisfy this requirement. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> --- lib/uncompress.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/uncompress.c b/lib/uncompress.c index c47d319dbb5f..5c0d1e9f4d66 100644 --- a/lib/uncompress.c +++ b/lib/uncompress.c @@ -24,6 +24,7 @@ #include <filetype.h> #include <malloc.h> #include <fs.h> +#include <libfile.h> static void *uncompress_buf; static unsigned int uncompress_size; @@ -142,7 +143,7 @@ static int uncompress_infd, uncompress_outfd; static int fill_fd(void *buf, unsigned int len) { - return read(uncompress_infd, buf, len); + return read_full(uncompress_infd, buf, len); } static int flush_fd(void *buf, unsigned int len) -- 2.29.2 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox