All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] kernel: debug: kdb: strncpy issue, using strlcpy instead of strncpy.
@ 2013-04-07 11:03 Chen Gang
  2013-04-17  9:43 ` Chen Gang
  0 siblings, 1 reply; 7+ messages in thread
From: Chen Gang @ 2013-04-07 11:03 UTC (permalink / raw)
  To: jason.wessel, anton.vorontsov, sasha.levin, vincent.stehle,
	john.blackwood
  Cc: kgdb-bugreport, linux-kernel


  cmd_cur and cmd_hist[] are all NUL terminated string.
  need using strlcpy instead of strncpy.

Signed-off-by: Chen Gang <gang.chen@asianux.com>
---
 kernel/debug/kdb/kdb_main.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c
index 00eb8f7..a2b04d7 100644
--- a/kernel/debug/kdb/kdb_main.c
+++ b/kernel/debug/kdb/kdb_main.c
@@ -1063,12 +1063,12 @@ static int handle_ctrl_cmd(char *cmd)
 	case CTRL_P:
 		if (cmdptr != cmd_tail)
 			cmdptr = (cmdptr-1) % KDB_CMD_HISTORY_COUNT;
-		strncpy(cmd_cur, cmd_hist[cmdptr], CMD_BUFLEN);
+		strlcpy(cmd_cur, cmd_hist[cmdptr], CMD_BUFLEN);
 		return 1;
 	case CTRL_N:
 		if (cmdptr != cmd_head)
 			cmdptr = (cmdptr+1) % KDB_CMD_HISTORY_COUNT;
-		strncpy(cmd_cur, cmd_hist[cmdptr], CMD_BUFLEN);
+		strlcpy(cmd_cur, cmd_hist[cmdptr], CMD_BUFLEN);
 		return 1;
 	}
 	return 0;
@@ -1260,7 +1260,7 @@ do_full_getstr:
 		if (*cmdbuf != '\n') {
 			if (*cmdbuf < 32) {
 				if (cmdptr == cmd_head) {
-					strncpy(cmd_hist[cmd_head], cmd_cur,
+					strlcpy(cmd_hist[cmd_head], cmd_cur,
 						CMD_BUFLEN);
 					*(cmd_hist[cmd_head] +
 					  strlen(cmd_hist[cmd_head])-1) = '\0';
@@ -1270,7 +1270,7 @@ do_full_getstr:
 				cmdbuf = cmd_cur;
 				goto do_full_getstr;
 			} else {
-				strncpy(cmd_hist[cmd_head], cmd_cur,
+				strlcpy(cmd_hist[cmd_head], cmd_cur,
 					CMD_BUFLEN);
 			}
 
-- 
1.7.7.6

^ permalink raw reply related	[flat|nested] 7+ messages in thread
* [PATCH] kernel: debug: kdb: strncpy issue, using strlcpy instead of strncpy
@ 2013-04-07 11:20 Chen Gang
  2013-04-17  9:43 ` Chen Gang
  0 siblings, 1 reply; 7+ messages in thread
From: Chen Gang @ 2013-04-07 11:20 UTC (permalink / raw)
  To: jason.wessel
  Cc: kgdb-bugreport,
	linux-kernel@vger.kernel.org >>
	"linux-kernel@vger.kernel.org"


  kdb_prompt_str is NUL terminated string, need always set '\0' at the end.

Signed-off-by: Chen Gang <gang.chen@asianux.com>
---
 kernel/debug/kdb/kdb_io.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/kernel/debug/kdb/kdb_io.c b/kernel/debug/kdb/kdb_io.c
index 14ff484..932b436 100644
--- a/kernel/debug/kdb/kdb_io.c
+++ b/kernel/debug/kdb/kdb_io.c
@@ -442,7 +442,7 @@ poll_again:
 char *kdb_getstr(char *buffer, size_t bufsize, char *prompt)
 {
 	if (prompt && kdb_prompt_str != prompt)
-		strncpy(kdb_prompt_str, prompt, CMD_BUFLEN);
+		strlcpy(kdb_prompt_str, prompt, CMD_BUFLEN);
 	kdb_printf(kdb_prompt_str);
 	kdb_nextline = 1;	/* Prompt and input resets line number */
 	return kdb_read(buffer, bufsize);
-- 
1.7.7.6

^ permalink raw reply related	[flat|nested] 7+ messages in thread
* Re: [PATCH] kernel: debug: kdb: strncpy issue, using strlcpy instead of strncpy.
@ 2013-05-16 11:38 Chen Gang
  0 siblings, 0 replies; 7+ messages in thread
From: Chen Gang @ 2013-05-16 11:38 UTC (permalink / raw)
  To: jason.wessel, Anton Vorontsov, sasha.levin, vincent.stehle,
	john.blackwood
  Cc: kgdb-bugreport, linux-kernel

Hello Maintainers:

Please help check and apply this patch when you hanve time, thanks.

It is already Acked-by Anton, please see below.

Thanks.


On Wed, Apr 17, 2013 at 05:43:13PM +0800, Chen Gang wrote:
> Hello maintainers:
>
>   please help check this patch, when you have time, thanks.
>

The patch looks good. I would add to the description: "..., otherwise the
destination string might end up not being terminted with the NUL, causing
all sorts of misbehaviour."

	Acked-by: Anton Vorontsov <anton@enomsg.org>

Thanks!

> On 2013年04月07日 19:03, Chen Gang wrote:
>>
>>   cmd_cur and cmd_hist[] are all NUL terminated string.
>>   need using strlcpy instead of strncpy.
>>
>> Signed-off-by: Chen Gang <gang.chen@asianux.com>
>> ---
>>  kernel/debug/kdb/kdb_main.c |    8 ++++----
>>  1 files changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c
>> index 00eb8f7..a2b04d7 100644
>> --- a/kernel/debug/kdb/kdb_main.c
>> +++ b/kernel/debug/kdb/kdb_main.c
>> @@ -1063,12 +1063,12 @@ static int handle_ctrl_cmd(char *cmd)
>>  	case CTRL_P:
>>  		if (cmdptr != cmd_tail)
>>  			cmdptr = (cmdptr-1) % KDB_CMD_HISTORY_COUNT;
>> -		strncpy(cmd_cur, cmd_hist[cmdptr], CMD_BUFLEN);
>> +		strlcpy(cmd_cur, cmd_hist[cmdptr], CMD_BUFLEN);
>>  		return 1;
>>  	case CTRL_N:
>>  		if (cmdptr != cmd_head)
>>  			cmdptr = (cmdptr+1) % KDB_CMD_HISTORY_COUNT;
>> -		strncpy(cmd_cur, cmd_hist[cmdptr], CMD_BUFLEN);
>> +		strlcpy(cmd_cur, cmd_hist[cmdptr], CMD_BUFLEN);
>>  		return 1;
>>  	}
>>  	return 0;
>> @@ -1260,7 +1260,7 @@ do_full_getstr:
>>  		if (*cmdbuf != '\n') {
>>  			if (*cmdbuf < 32) {
>>  				if (cmdptr == cmd_head) {
>> -					strncpy(cmd_hist[cmd_head], cmd_cur,
>> +					strlcpy(cmd_hist[cmd_head], cmd_cur,
>>  						CMD_BUFLEN);
>>  					*(cmd_hist[cmd_head] +
>>  					  strlen(cmd_hist[cmd_head])-1) = '\0';
>> @@ -1270,7 +1270,7 @@ do_full_getstr:
>>  				cmdbuf = cmd_cur;
>>  				goto do_full_getstr;
>>  			} else {
>> -				strncpy(cmd_hist[cmd_head], cmd_cur,
>> +				strlcpy(cmd_hist[cmd_head], cmd_cur,
>>  					CMD_BUFLEN);
>>  			}
>>  
>>
>
>
> -- 
> Chen Gang
>
> Asianux Corporation





^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2013-05-16 11:38 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-04-07 11:03 [PATCH] kernel: debug: kdb: strncpy issue, using strlcpy instead of strncpy Chen Gang
2013-04-17  9:43 ` Chen Gang
2013-04-23 20:50   ` Anton Vorontsov
2013-04-24  1:12     ` Chen Gang
2013-04-07 11:20 Chen Gang
2013-04-17  9:43 ` Chen Gang
2013-05-16 11:38 Chen Gang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.