Re: [PATCH 2/3] orangefs: strncpy -> strlcpy
From: martin
Date: Fri Apr 08 2016 - 11:34:14 EST
> On Thu, Apr 7, 2016 at 2:39 PM, Andy Shevchenko
> <andy.shevchenko@xxxxxxxxx> wrote:
> > On Mon, Apr 4, 2016 at 11:26 PM, Martin Brandenburg <martin@xxxxxxxxxxxx> wrote:
> >> From: Martin Brandenburg <martin@xxxxxxxxxxxx>
> >>
> >> Almost everywhere we use strncpy we should use strlcpy. This affects
> >> path names (d_name mostly), symlink targets, and server names.
> >>
> >> Leave debugfs code as is for now, though it could use a review as well.
> >>
> >
> > |Why not strscpy() as most robust one?
Mostly because I hadn't heard about strscpy.
On Thu, 7 Apr 2016, Mike Marshall wrote:
> It looks like strscpy went in last October... there are
> no users of it yet. I was just about to send in a pull request
> that includes Martin's strncpy->strlcpy patch when I saw
> Andy's comment.
>
> Linus said when he pulled strscpy:
>
> > So I'm pulling the strscpy() support because it *is* a better interface.
> > But I will refuse to pull mindless conversion patches. Use this in
> > places where it makes sense, but don't do trivial patches to fix things
> > that aren't actually known to be broken.
>
> Maybe it makes sense for our strncpy->strlcpy patch to be a strscpy
> patch instead? Maybe our strncpy->strlcpy patch is itself a
> "mindless conversion patch"? (I don't think so)...
There is something broken! If the client-core sends in a
string with no NUL terminator, we would blindly copy it
into the d_name with strncpy.
>
> I'll wait until tomorrow, and then send my pull request as it is, unless
> everyone chimes in and says "use strscpy!"...
>
> -Mike
After looking over strscpy I don't see a compelling
reason not to go ahead and use it while we're fixing up
this code.
-- Martin