diff mbox

net/rds: zero last byte for strncpy

Message ID 513958C4.1020404@asianux.com
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Chen Gang March 8, 2013, 3:19 a.m. UTC
for NUL terminated string, need be always sure '\0' in the end.

additional info:
  strncpy will pads with zeroes to the end of the given buffer.
  should initialise every bit of memory that is going to be copied to userland


Signed-off-by: Chen Gang <gang.chen@asianux.com>
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
---
 net/rds/stats.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

Comments

David Miller March 8, 2013, 5:36 a.m. UTC | #1
From: Chen Gang <gang.chen@asianux.com>
Date: Fri, 08 Mar 2013 11:19:32 +0800

> 
>   for NUL terminated string, need be always sure '\0' in the end.
> 
> additional info:
>   strncpy will pads with zeroes to the end of the given buffer.
>   should initialise every bit of memory that is going to be copied to userland
> 
> 
> Signed-off-by: Chen Gang <gang.chen@asianux.com>
> Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Chen Gang March 8, 2013, 6:13 a.m. UTC | #2
于 2013年03月08日 13:36, David Miller 写道:
> From: Chen Gang <gang.chen@asianux.com>
> Date: Fri, 08 Mar 2013 11:19:32 +0800
> 
>>
>>   for NUL terminated string, need be always sure '\0' in the end.
>>
>> additional info:
>>   strncpy will pads with zeroes to the end of the given buffer.
>>   should initialise every bit of memory that is going to be copied to userland
>>
>>
>> Signed-off-by: Chen Gang <gang.chen@asianux.com>
>> Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
> 
> Applied.
> 
> 

  thanks.
diff mbox

Patch

diff --git a/net/rds/stats.c b/net/rds/stats.c
index 7be790d..73be187 100644
--- a/net/rds/stats.c
+++ b/net/rds/stats.c
@@ -87,6 +87,7 @@  void rds_stats_info_copy(struct rds_info_iterator *iter,
 	for (i = 0; i < nr; i++) {
 		BUG_ON(strlen(names[i]) >= sizeof(ctr.name));
 		strncpy(ctr.name, names[i], sizeof(ctr.name) - 1);
+		ctr.name[sizeof(ctr.name) - 1] = '\0';
 		ctr.value = values[i];
 
 		rds_info_copy(iter, &ctr, sizeof(ctr));