On Wed, Aug 28, 2013 at 5:54 AM, Maxime Villard <m...@m00nbsd.net> 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;
    }

Reply via email to