[<prev] [next>] [day] [month] [year] [list]
Message-ID: <51A5DDB0.50504@asianux.com>
Date: Wed, 29 May 2013 18:51:28 +0800
From: Chen Gang <gang.chen@...anux.com>
To: rth@...ddle.net, ink@...assic.park.msu.ru, mattst88@...il.com,
Thomas Gleixner <tglx@...utronix.de>,
Frederic Weisbecker <fweisbec@...il.com>,
josh@...htriplett.org, srivatsa.bhat@...ux.vnet.ibm.com
CC: Greg KH <gregkh@...uxfoundation.org>, linux-alpha@...r.kernel.org,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Linux-Arch <linux-arch@...r.kernel.org>
Subject: [PATCH] arch: alpha: kernel: using memcpy() instead of strcpy()
When sending message in send_secondary_console_msg(), the length is not
include the NUL byte, and also not copy NUL to 'ipc_buffer'.
When receive message in recv_secondary_console_msg(), the 'cnt' also
excludes NUL.
So when get string from ipc_buffer, it may not be NUL terminated.
Then use memcpy() instead of strcpy(), and set last byte NUL.
Signed-off-by: Chen Gang <gang.chen@...anux.com>
---
arch/alpha/kernel/smp.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/arch/alpha/kernel/smp.c b/arch/alpha/kernel/smp.c
index 7b60834..d3d2040 100644
--- a/arch/alpha/kernel/smp.c
+++ b/arch/alpha/kernel/smp.c
@@ -266,7 +266,8 @@ recv_secondary_console_msg(void)
else {
cp1 = (char *) &cpu->ipc_buffer[11];
cp2 = buf;
- strcpy(cp2, cp1);
+ memcpy(cp2, cp1, cnt);
+ cp2[cnt] = '\0';
while ((cp2 = strchr(cp2, '\r')) != 0) {
*cp2 = ' ';
--
1.7.7.6
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists