On 11/12/20 5:34 PM, Kang Wenlin wrote: > From: Wenlin Kang <wenlin.k...@windriver.com> > > Replace strncpy() with strscpy(), fixes the following warning: > > In function 'bearer_name_validate', > inlined from 'tipc_enable_bearer' at net/tipc/bearer.c:246:7: > net/tipc/bearer.c:141:2: warning: 'strncpy' specified bound 32 equals > destination size [-Wstringop-truncation] > strncpy(name_copy, name, TIPC_MAX_BEARER_NAME); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > Signed-off-by: Wenlin Kang <wenlin.k...@windriver.com>
Acked-by: Ying Xue <ying....@windriver.com> > --- > net/tipc/bearer.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/net/tipc/bearer.c b/net/tipc/bearer.c > index 650414110452..2241d5a38f7b 100644 > --- a/net/tipc/bearer.c > +++ b/net/tipc/bearer.c > @@ -139,10 +139,7 @@ static int bearer_name_validate(const char *name, > u32 if_len; > > /* copy bearer name & ensure length is OK */ > - name_copy[TIPC_MAX_BEARER_NAME - 1] = 0; > - /* need above in case non-Posix strncpy() doesn't pad with nulls */ > - strncpy(name_copy, name, TIPC_MAX_BEARER_NAME); > - if (name_copy[TIPC_MAX_BEARER_NAME - 1] != 0) > + if (strscpy(name_copy, name, TIPC_MAX_BEARER_NAME) < 0) > return 0; > > /* ensure all component parts of bearer name are present */ >