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");
 			}