From 1d4babcd32b1cd8d3849fb7dc21bbc4ebcb45f6a Mon Sep 17 00:00:00 2001 From: "Masamichi Takagi m-takagi@ab.jp.nec.com" Date: Fri, 10 May 2013 17:06:46 +0900 Subject: [PATCH] make kputs (write debug message onto kmsg_buf.str) truncate size of input string when it's greater than kmsg_buf.len. http://postpeta.pccluster.org/bugzilla/show_bug.cgi?id=19 --- kernel/debug.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/kernel/debug.c b/kernel/debug.c index 1a66b0af..72a901c2 100644 --- a/kernel/debug.c +++ b/kernel/debug.c @@ -20,9 +20,12 @@ void kputs(char *buf) if (len + kmsg_buf.tail > kmsg_buf.len) { kmsg_buf.tail = 0; + if(len > kmsg_buf.len) { + len = kmsg_buf.len; + } } - strncpy(kmsg_buf.str + kmsg_buf.tail, buf, len); + memcpy(kmsg_buf.str + kmsg_buf.tail, buf, len); kmsg_buf.tail += len; ihk_mc_spinlock_unlock(&kmsg_lock, flags);