net/rds: zero last byte for strncpy

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>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Chen Gang 2013-03-07 17:19:32 +00:00 committed by David S. Miller
parent d916932330
commit 2e85d67690

View File

@ -87,6 +87,7 @@ void rds_stats_info_copy(struct rds_info_iterator *iter,
for (i = 0; i < nr; i++) { for (i = 0; i < nr; i++) {
BUG_ON(strlen(names[i]) >= sizeof(ctr.name)); BUG_ON(strlen(names[i]) >= sizeof(ctr.name));
strncpy(ctr.name, names[i], sizeof(ctr.name) - 1); strncpy(ctr.name, names[i], sizeof(ctr.name) - 1);
ctr.name[sizeof(ctr.name) - 1] = '\0';
ctr.value = values[i]; ctr.value = values[i];
rds_info_copy(iter, &ctr, sizeof(ctr)); rds_info_copy(iter, &ctr, sizeof(ctr));