On Sun, Feb 17, 2019 at 9:30 AM Linus Torvalds <torva...@linux-foundation.org> wrote: > > On Sun, Feb 17, 2019 at 1:09 AM Kees Cook <keesc...@chromium.org> wrote: > > > > +static inline char *next_spacetab(char *first, const char *last) > > +{ > > + for (; first <= last; first++) > > + if (spacetab(*first)) > > + return first; > > + return NULL; > > +} > > I think this should be "next_terminator()" and also stop at NUL. > > You do check for the NUL case here: > > > + if (!next_spacetab(cp, buf_end) && *buf_end) > > + return -ENOEXEC; > > but it means that if there's no space ot tab and it's a short file, > you pointlessly walk to the end. No?
Yeah, that works. I'll send v5. -- Kees Cook