--- include/libbb.h.orig	2007-05-20 18:57:20.000000000 +0200
+++ include/libbb.h	2007-07-29 03:49:49.000000000 +0200
@@ -180,14 +180,23 @@
 #define RESERVE_CONFIG_BUFFER(buffer,len)           char buffer[len]
 #define RESERVE_CONFIG_UBUFFER(buffer,len) unsigned char buffer[len]
 #define RELEASE_CONFIG_BUFFER(buffer)      ((void)0)
+#define DECLARE_CONFIG_BUFFER(buffer, len)           char buffer[len]
+#define DECLARE_CONFIG_UBUFFER(buffer, len) unsigned char buffer[len]
+#define ALLOCATE_CONFIG_BUFFER(buffer, len) ((void)0)
 #else
 #if ENABLE_FEATURE_BUFFERS_GO_IN_BSS
 #define RESERVE_CONFIG_BUFFER(buffer,len)  static          char buffer[len]
 #define RESERVE_CONFIG_UBUFFER(buffer,len) static unsigned char buffer[len]
 #define RELEASE_CONFIG_BUFFER(buffer)      ((void)0)
+#define DECLARE_CONFIG_BUFFER(buffer, len)  static          char buffer[len]
+#define DECLARE_CONFIG_UBUFFER(buffer, len) static unsigned char buffer[len]
+#define ALLOCATE_CONFIG_BUFFER(buffer, len) ((void)0)
 #else
 #define RESERVE_CONFIG_BUFFER(buffer,len)           char *buffer=xmalloc(len)
 #define RESERVE_CONFIG_UBUFFER(buffer,len) unsigned char *buffer=xmalloc(len)
+#define DECLARE_CONFIG_BUFFER(buffer, len)           char *buffer;
+#define DECLARE_CONFIG_UBUFFER(buffer, len) unsigned char *buffer;
+#define ALLOCATE_CONFIG_BUFFER(buffer, len)                buffer=xmalloc(len)
 #define RELEASE_CONFIG_BUFFER(buffer)      free (buffer)
 #endif
 #endif
--- networking/inetd.c.orig	2007-05-20 18:54:24.000000000 +0200
+++ networking/inetd.c	2007-07-29 03:49:49.000000000 +0200
@@ -330,7 +330,7 @@
 static const char *CONFIG = _PATH_INETDCONF;
 
 static FILE *fconfig;
-static char line[1024];
+DECLARE_CONFIG_BUFFER(line, 1024);
 static char *defhost;
 
 /* xstrdup(NULL) returns NULL, but this one
@@ -927,6 +927,8 @@
 		bb_perror_msg("%s", CONFIG);
 		return;
 	}
+	ALLOCATE_CONFIG_BUFFER(line, 1024);
+	
 	for (sep = servtab; sep; sep = sep->se_next)
 		sep->se_checked = 0;
 	cp = getconfigent();
@@ -1131,6 +1133,8 @@
 		freeconfig(sep);
 		free(sep);
 	}
+	RELEASE_CONFIG_BUFFER(line);
+
 	sigprocmask(SIG_UNBLOCK, &omask, NULL);
 }
 
