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? Linus