Move setvbuf calls from gz_open() to calling functions, setvbuf is only supposed to be called prior to opening the stream, glibc tolerates later use, uclibc doesnt.
diff --git a/tar.c b/tar.c
index 31443ee..cf65798 100644
--- a/tar.c
+++ b/tar.c
@@ -284,6 +284,10 @@
/* unzip tarFd in a seperate process */
if (unzipFlag == TRUE) {
comp_file = fdopen(tarFd, "r");
+
+ /* set the buffer size */
+ setvbuf(comp_file, NULL, _IOFBF, 0x8000);
+
if ((tarFd = fileno(gz_open(comp_file, &pid))) == EXIT_FAILURE) {
error_msg_and_die("Couldnt unzip file");
}