On Wed, Aug 28, 2013 at 5:54 AM, Maxime Villard <[email protected]> wrote: > + /* Ensure interp is a valid, NUL-terminated string */ > + for (n = 0; n < pp->p_filesz; n++) { > + if (interp[n] == '\0') > + break; > + } > + if (n != pp->p_filesz - 1) { > + error = ENOEXEC; > goto bad; > }
A more concise test would be:
if (strnlen(interp, pp->p_filesz) != pp->p_filesz - 1) {
error = ENOEXEC;
goto bad;
}
