The `strcpy()` function is deprecated and moving towards code-tree elimination. Replacing it with `strscpy()` fixes potential buffer overflow vectors by ensuring safe NULL-termination based on the destination buffer size limit [1][2]. In `tipc_bearer_get_name()`, the 'name' parameter decays into a pointer, meaning `sizeof()` cannot capture the underlying array bounds directly. However, all parent callers allocate this buffer using the TIPC_MAX_BEARER_NAME macro. Replace strcpy() with strscpy() using TIPC_MAX_BEARER_NAME as the explicit destination bound length. Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strcpy [1] Link: https://github.com/KSPP/linux/issues/88 [2] Signed-off-by: Ajith P V --- v3: - Fix patch title as suggested by Tung Quang Nguyen. - No code changes from v2. v2: - Target net-next tree instead of standard net tree as requested by Tung Quang Nguyen. - No code changes from v1. net/tipc/bearer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/tipc/bearer.c b/net/tipc/bearer.c index 05dcd2f9e887..951bb474c7d4 100644 --- a/net/tipc/bearer.c +++ b/net/tipc/bearer.c @@ -209,7 +209,7 @@ int tipc_bearer_get_name(struct net *net, char *name, u32 bearer_id) if (!b) return -EINVAL; - strcpy(name, b->name); + strscpy(name, b->name, TIPC_MAX_BEARER_NAME); return 0; } -- 2.43.0