Re: [PATCH] accel/ivpu: refactor deprecated strncpy

From: Stanislaw Gruszka
Date: Fri Aug 25 2023 - 05:13:28 EST


On Thu, Aug 24, 2023 at 09:20:25PM +0000, Justin Stitt wrote:
> `strncpy` is deprecated for use on NUL-terminated destination strings [1].
>
> A suitable replacement is `strscpy` [2] due to the fact that it
> guarantees NUL-termination on its destination buffer argument which is
> _not_ the case for `strncpy`!
>
> Also remove extraneous if-statement as it can never be entered. The
> return value from `strncpy` is it's first argument. In this case,
> `...dyndbg_cmd` is an array:
> | char dyndbg_cmd[VPU_DYNDBG_CMD_MAX_LEN];
> ^^^^^^^^^^
> This can never be NULL which means `strncpy`'s return value cannot be
> NULL here. Just use `strscpy` which is more robust and results in
> simpler and less ambiguous code.
>
> Moreover, remove needless `... - 1` as `strscpy`'s implementation
> ensures NUL-termination and we do not need to carefully dance around
> ending boundaries with a "- 1" anymore.
>
> Link: www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings[1]
> Link: https://manpages.debian.org/testing/linux-manual-4.8/strscpy.9.en.html [2]
> Link: https://github.com/KSPP/linux/issues/90
> Cc: linux-hardening@xxxxxxxxxxxxxxx
> Signed-off-by: Justin Stitt <justinstitt@xxxxxxxxxx>
Applied to drm-misc-next-fixes

Thanks
Stanislaw