Hi,

On Fri, Aug 14, 2026 at 12:28:45AM -0700, Mariia Nikitash wrote:
> In preparation for removing the deprecated strlcat() API[1], replace its
> uses in root_nfs_cat() with snprintf().
> 
> Build the separator and source string in a single call using the
> remaining space in the destination buffer. snprintf() returns the length
> it would have written excluding the terminating NUL, so comparing the
> return value against the remaining buffer space preserves the existing
> truncation check.
> 
> Link: https://github.com/KSPP/linux/issues/370 [1]
> Signed-off-by: Mariia Nikitash <[email protected]>


Reviewed-by: Justin Stitt <[email protected]>

> ---
>  fs/nfs/nfsroot.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/fs/nfs/nfsroot.c b/fs/nfs/nfsroot.c
> index 432612d22437..e951fe731679 100644
> --- a/fs/nfs/nfsroot.c
> +++ b/fs/nfs/nfsroot.c
> @@ -173,12 +173,12 @@ static int __init root_nfs_cat(char *dest, const char 
> *src,
>                              const size_t destlen)
>  {
>       size_t len = strlen(dest);
> +     size_t remaining = destlen - len;
> +     const char *sep = "";
>  
>       if (len && dest[len - 1] != ',')
> -             if (strlcat(dest, ",", destlen) >= destlen)
> -                     return -1;
> -
> -     if (strlcat(dest, src, destlen) >= destlen)
> +             sep = ",";
> +     if (snprintf(dest + len, remaining, "%s%s", sep, src) >= remaining)
>               return -1;
>       return 0;
>  }
> -- 
> 2.55.0.679.g6767b8d81c-goog
> 
>

Thanks
Justin

Reply via email to