On Fri, Jul 13, 2018 at 01:58:05PM -0700, Stefan Beller wrote:

> > I'm sad that this strcpy() wasn't caught in review. IMHO we should avoid
> > that function altogether, even when we _think_ it can't trigger an
> > overflow. That's easier to reason about (and makes auditing easier).
> 
> Can we somehow automatically find "bad code" either in pathces
> or in new code (such as pu), e.g. as a coccicheck for these functions?

I'd be happy to declare strcpy() totally banned (and it more or less
is). I found this with a simple "git grep", though it seems like a
trivial application of coccinelle to find it. The question is what to
convert it into. xsnprintf() is often a good choice, but not always
(e.g., if the destination isn't an array, we'd have to get the size from
somewhere else).

I wouldn't be surprised if there's a way to ask coccinelle to convert
the easy cases and barf with an error on the hard cases or something. I
don't know the tool very well.

-Peff

Reply via email to