diff --git a/coreutils/tee.c b/coreutils/tee.c
index 2f746f9..a3a1c81 100644
--- a/coreutils/tee.c
+++ b/coreutils/tee.c
@@ -23,6 +23,7 @@
  */
 
 #include "internal.h"
+#include <errno.h>
 #include <stdio.h>
 
 static const char tee_usage[] =
@@ -38,7 +39,7 @@
 /* FileList _______________________________________________________________ */
 
 #define FL_MAX	1024
-static FILE *FileList[FL_MAX];
+static FILE **FileList;
 static int FL_end;
 
 typedef void (FL_Function) (FILE * file, char c);
@@ -99,6 +100,11 @@
 	}
 
 	/* init FILE pointers */
+	FileList = calloc(FL_MAX, sizeof(FILE*));
+	if (!FileList) {
+		fprintf(stderr, "tee: %s\n", strerror(errno));
+		exit(1);
+	}
 	FL_end = 0;
 	FileList[0] = stdout;
 	for (; i < argc; i++) {
@@ -119,7 +125,8 @@
 
 	/* clean up */
 	FL_apply(tee_fclose, 0);
+	free(FileList);
 	exit(0);
 }
 
-/* $Id: tee.c,v 1.6 2000/02/08 19:58:47 erik Exp $ */
+/* $Id: tee.c,v 1.7 2000/03/08 00:14:35 beppu Exp $ */
diff --git a/tee.c b/tee.c
index 2f746f9..a3a1c81 100644
--- a/tee.c
+++ b/tee.c
@@ -23,6 +23,7 @@
  */
 
 #include "internal.h"
+#include <errno.h>
 #include <stdio.h>
 
 static const char tee_usage[] =
@@ -38,7 +39,7 @@
 /* FileList _______________________________________________________________ */
 
 #define FL_MAX	1024
-static FILE *FileList[FL_MAX];
+static FILE **FileList;
 static int FL_end;
 
 typedef void (FL_Function) (FILE * file, char c);
@@ -99,6 +100,11 @@
 	}
 
 	/* init FILE pointers */
+	FileList = calloc(FL_MAX, sizeof(FILE*));
+	if (!FileList) {
+		fprintf(stderr, "tee: %s\n", strerror(errno));
+		exit(1);
+	}
 	FL_end = 0;
 	FileList[0] = stdout;
 	for (; i < argc; i++) {
@@ -119,7 +125,8 @@
 
 	/* clean up */
 	FL_apply(tee_fclose, 0);
+	free(FileList);
 	exit(0);
 }
 
-/* $Id: tee.c,v 1.6 2000/02/08 19:58:47 erik Exp $ */
+/* $Id: tee.c,v 1.7 2000/03/08 00:14:35 beppu Exp $ */
