aboutsummaryrefslogtreecommitdiff
path: root/sysklogd/syslogd.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysklogd/syslogd.c')
-rw-r--r--sysklogd/syslogd.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/sysklogd/syslogd.c b/sysklogd/syslogd.c
index 3a8e519fe..e754806da 100644
--- a/sysklogd/syslogd.c
+++ b/sysklogd/syslogd.c
@@ -600,16 +600,19 @@ static void doSyslogd(void)
if (FD_ISSET(sock_fd, &fds)) {
int i;
+#if MAXLINE > BUFSIZ
+# define TMP_BUF_SZ BUFSIZ
+#else
+# define TMP_BUF_SZ MAXLINE
+#endif
+#define tmpbuf bb_common_bufsiz1
- RESERVE_CONFIG_BUFFER(tmpbuf, MAXLINE + 1);
-
- memset(tmpbuf, '\0', MAXLINE + 1);
- if ((i = recv(sock_fd, tmpbuf, MAXLINE, 0)) > 0) {
+ if ((i = recv(sock_fd, tmpbuf, TMP_BUF_SZ, 0)) > 0) {
+ tmpbuf[i] = '\0';
serveConnection(tmpbuf, i);
} else {
bb_perror_msg_and_die("UNIX socket error");
}
- RELEASE_CONFIG_BUFFER(tmpbuf);
} /* FD_ISSET() */
} /* for main loop */
}