Add a RELEASE_BB_BUFFER macro and use it to fix a memory leak in syslogd.c
(noted by Adam Slattery).
diff --git a/busybox.h b/busybox.h
index e8055b0..f79dac8 100644
--- a/busybox.h
+++ b/busybox.h
@@ -69,13 +69,16 @@
 #ifdef BB_FEATURE_BUFFERS_GO_ON_STACK
 #define RESERVE_BB_BUFFER(buffer,len)           char buffer[len]
 #define RESERVE_BB_UBUFFER(buffer,len) unsigned char buffer[len]
+#define RELEASE_BB_BUFFER(buffer)      ((void)0)
 #else
 #ifdef BB_FEATURE_BUFFERS_GO_IN_BSS
 #define RESERVE_BB_BUFFER(buffer,len)  static          char buffer[len]
 #define RESERVE_BB_UBUFFER(buffer,len) static unsigned char buffer[len]
+#define RELEASE_BB_BUFFER(buffer)      ((void)0)
 #else
 #define RESERVE_BB_BUFFER(buffer,len)           char *buffer=xmalloc(len)
 #define RESERVE_BB_UBUFFER(buffer,len) unsigned char *buffer=xmalloc(len)
+#define RELEASE_BB_BUFFER(buffer)      free (buffer)
 #endif
 #endif
 
diff --git a/include/busybox.h b/include/busybox.h
index e8055b0..f79dac8 100644
--- a/include/busybox.h
+++ b/include/busybox.h
@@ -69,13 +69,16 @@
 #ifdef BB_FEATURE_BUFFERS_GO_ON_STACK
 #define RESERVE_BB_BUFFER(buffer,len)           char buffer[len]
 #define RESERVE_BB_UBUFFER(buffer,len) unsigned char buffer[len]
+#define RELEASE_BB_BUFFER(buffer)      ((void)0)
 #else
 #ifdef BB_FEATURE_BUFFERS_GO_IN_BSS
 #define RESERVE_BB_BUFFER(buffer,len)  static          char buffer[len]
 #define RESERVE_BB_UBUFFER(buffer,len) static unsigned char buffer[len]
+#define RELEASE_BB_BUFFER(buffer)      ((void)0)
 #else
 #define RESERVE_BB_BUFFER(buffer,len)           char *buffer=xmalloc(len)
 #define RESERVE_BB_UBUFFER(buffer,len) unsigned char *buffer=xmalloc(len)
+#define RELEASE_BB_BUFFER(buffer)      free (buffer)
 #endif
 #endif
 
diff --git a/sysklogd/syslogd.c b/sysklogd/syslogd.c
index 8ae70a1..14219eb 100644
--- a/sysklogd/syslogd.c
+++ b/sysklogd/syslogd.c
@@ -431,6 +431,7 @@
 		/* Now log it */
 		logMessage (pri, line);
 	}
+	RELEASE_BB_BUFFER (tmpbuf);
 	return n_read;
 }
 
diff --git a/syslogd.c b/syslogd.c
index 8ae70a1..14219eb 100644
--- a/syslogd.c
+++ b/syslogd.c
@@ -431,6 +431,7 @@
 		/* Now log it */
 		logMessage (pri, line);
 	}
+	RELEASE_BB_BUFFER (tmpbuf);
 	return n_read;
 }