Re: [PATCH] NFS: nfsroot: replace strlcat() with snprintf()
Bill Wendling <[email protected]>
| Newsgroups | org.kernel.vger.linux-nfs,org.kernel.vger.linux-hardening,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <CAGG=3QXu=kioXx3dRB2GO=qGQ+SqSuenbqMrrLEFz8KcRbn35A@mail.gmail.com> |
On Mon, Aug 17, 2026 at 1:33 PM Justin Stitt <[email protected]> wrote: > > 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]> > Acked-by: Bill Wendling <[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 >