From: Xu Panda <xu.panda@xxxxxxxxxx> The implementation of strscpy() is more robust and safer. That's now the recommended way to copy NUL terminated strings. --- change for v2 - fix the mistake and make the code better and simpler, thanks to Andy Shevchenko. --- Signed-off-by: Xu Panda <xu.panda@xxxxxxxxxx> Signed-off-by: Yang Yang <yang.yang29@xxxxxxx> Signed-off-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> --- arch/x86/platform/uv/uv_nmi.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/arch/x86/platform/uv/uv_nmi.c b/arch/x86/platform/uv/uv_nmi.c index a60af0230e27..d94140842aa3 100644 --- a/arch/x86/platform/uv/uv_nmi.c +++ b/arch/x86/platform/uv/uv_nmi.c @@ -205,11 +205,7 @@ static int param_set_action(const char *val, const struct kernel_param *kp) char arg[ACTION_LEN], *p; /* (remove possible '\n') */ - strncpy(arg, val, ACTION_LEN - 1); - arg[ACTION_LEN - 1] = '\0'; - p = strchr(arg, '\n'); - if (p) - *p = '\0'; + strscpy(arg, val, strnchrnul(val, ACTION_LEN, '\n') - val); for (i = 0; i < n; i++) if (!strcmp(arg, valid_acts[i].action)) -- 2.15.2