Go ahead.
Le 18 nov. 2015 7:52 PM, "Andrei Borzenkov" <arvidj...@gmail.com> a écrit :

> This makes it impossible to read from stdin without controlling tty:
>
> 10:/mnt # echo -e passwd\\npasswd | setsid ./grub-mkpasswd-pbkdf2
> Enter password:
> Reenter password: ./grub-mkpasswd-pbkdf2: error: failure to read password.
> 10:/mnt
>
> ---
>
> Is there anything I missed and we *want* to close stdin under some
> conditions?
>
>  grub-core/osdep/unix/password.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/grub-core/osdep/unix/password.c
> b/grub-core/osdep/unix/password.c
> index 4b9507b..9996b24 100644
> --- a/grub-core/osdep/unix/password.c
> +++ b/grub-core/osdep/unix/password.c
> @@ -54,7 +54,8 @@ grub_password_get (char buf[], unsigned buf_size)
>    grub_memset (buf, 0, buf_size);
>    if (!fgets (buf, buf_size, stdin))
>      {
> -      fclose (in);
> +      if (in != stdin)
> +       fclose (in);
>        return 0;
>      }
>    ptr = buf + strlen (buf) - 1;
> @@ -67,7 +68,8 @@ grub_password_get (char buf[], unsigned buf_size)
>    grub_xputs ("\n");
>    grub_refresh ();
>
> -  fclose (in);
> +  if (in != stdin)
> +    fclose (in);
>
>    return 1;
>  }
> --
> tg: (50d6f38..) bnc/954519 (depends on: master)
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
>
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to