gzip: fix a case where tar xzf fails (we use uninitialized fd)
[oweals/busybox.git] / archival / libunarchive / data_extract_to_stdout.c
index 00687b3152733ba14010657277d296efb35c224a..c8895ed6505412acd25866b62bf5b8df2b212b01 100644 (file)
@@ -1,8 +1,14 @@
-#include <stdlib.h>
-#include <stdio.h>
+/* vi: set sw=4 ts=4: */
+/*
+ * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
+ */
+
+#include "libbb.h"
 #include "unarchive.h"
 
-extern void data_extract_to_stdout(archive_handle_t *archive_handle)
+void data_extract_to_stdout(archive_handle_t *archive_handle)
 {
-       copy_file_chunk_fd(archive_handle->src_fd, fileno(stdout), archive_handle->file_header->size);
+       bb_copyfd_exact_size(archive_handle->src_fd,
+                       STDOUT_FILENO,
+                       archive_handle->file_header->size);
 }