summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2008-11-20 06:49:20 +0000
committerPeter Korsgaard <jacmet@sunsite.dk>2008-11-20 06:49:20 +0000
commit8bd30c75c97bcdbcf314e3b7c8090abe70d4a48b (patch)
tree67bf0dbdb52d6625369011107e901016ef52311b
parenta3829e90a71946c68afaf49c4f96c87bbb9c6a1f (diff)
busybox: 1.13.0 klogd fix
-rw-r--r--package/busybox/busybox-1.13.0-klogd.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/package/busybox/busybox-1.13.0-klogd.patch b/package/busybox/busybox-1.13.0-klogd.patch
new file mode 100644
index 000000000..e42abf15c
--- /dev/null
+++ b/package/busybox/busybox-1.13.0-klogd.patch
@@ -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;