busybox: 1.13.0 klogd fix

This commit is contained in:
Peter Korsgaard 2008-11-20 06:49:20 +00:00
parent a3829e90a7
commit 8bd30c75c9

View File

@ -0,0 +1,29 @@
--- busybox-1.13.0/sysklogd/klogd.c Thu Oct 30 08:41:28 2008
+++ busybox-1.13.0-klogd/sysklogd/klogd.c Thu Nov 20 00:46:00 2008
@@ -73,9 +73,6 @@
syslog(LOG_NOTICE, "klogd started: %s", bb_banner);
- /* Initially null terminate the buffer in case of a very long line */
- log_buffer[KLOGD_LOGBUF_SIZE - 1] = '\0';
-
while (1) {
int n;
int priority;
@@ -89,6 +86,7 @@
errno);
break;
}
+ log_buffer[used + n] = '\0';
/* klogctl buffer parsing modelled after code in dmesg.c */
start = &log_buffer[0];
@@ -101,7 +99,7 @@
/* This line is incomplete... */
if (start != log_buffer) {
/* move it to the front of the buffer */
- strcpy(log_buffer, start);
+ overlapping_strcpy(log_buffer, start);
/* don't log it yet */
used = strlen(log_buffer);
break;