Be certain to not abort prematurely when reading stuff from pipes.
diff --git a/archival/libunarchive/init_handle.c b/archival/libunarchive/init_handle.c
index 4b01034..2659aa3 100644
--- a/archival/libunarchive/init_handle.c
+++ b/archival/libunarchive/init_handle.c
@@ -30,7 +30,7 @@
 	archive_handle->action_header = header_skip;
 	archive_handle->action_data = data_skip;
 	archive_handle->filter = filter_accept_all;
-	archive_handle->read = read;
+	archive_handle->read = bb_full_read;
 	archive_handle->seek = seek_by_jump;
 
 	return(archive_handle);