summaryrefslogtreecommitdiffstats
path: root/package/busybox/busybox-1.13.0-klogd.patch
blob: e42abf15c067d9a0ddf48dd4794e553a41fabd63 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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;