Message ID | 202301091948433010050@zte.com.cn (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [net-next] net/rds: use strscpy() to instead of strncpy() | expand |
On Mon, 9 Jan 2023 19:48:43 +0800 (CST) yang.yang29@zte.com.cn wrote: > BUG_ON(strlen(names[i]) >= sizeof(ctr.name)); > - strncpy(ctr.name, names[i], sizeof(ctr.name) - 1); > - ctr.name[sizeof(ctr.name) - 1] = '\0'; > + strscpy(ctr.name, names[i], sizeof(ctr.name)); You can make use of the fact that strscpy returns useful information and the copy and the preceding BUG_ON() together.
diff --git a/net/rds/stats.c b/net/rds/stats.c index 9e87da43c004..6a5a60d36d60 100644 --- a/net/rds/stats.c +++ b/net/rds/stats.c @@ -89,8 +89,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'; + strscpy(ctr.name, names[i], sizeof(ctr.name)); ctr.value = values[i]; rds_info_copy(iter, &ctr, sizeof(ctr));