|
@@ -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;
|