getpass fgets check

Joakim Tjernlund joakim.tjernlund at transmode.se
Fri Dec 23 13:45:38 UTC 2011


> From: Denys Vlasenko <vda.linux at googlemail.com>
>
> On Tue, Dec 20, 2011 at 8:43 AM, Daniel Wainwright
> <wainwright.daniel at gmail.com> wrote:
> > Hi,
> >
> > I believe there is a simple error in getpass.c, line 80:
> >
> >  static char buf[PWD_BUFFER_SIZE];
>
> I propose the following patch (sorry, it's attached, not inline).
>
> * fixes bogus fgets error check
> * fixes bogus strlen() < 0 check
> * switches off buffering regardless of tcgetattr() success
> * prints newline even on error or if there was no '\n' on input
> * uses sizeof(buf) instead of PWD_BUFFER_SIZE

+if (!fgets (buf, sizeof(buf)-1, in))

Should probably be sizeof(buf) instead of sizeof(buf)-1 as per earlier mail.



More information about the uClibc mailing list