loginrec.c: bug in construct_utmpx() definition?
andromeda_862000 at yahoo.com
Tue Feb 25 02:55:58 EST 2014
I am trying to cross compile OpenSSH_5.8p2 on linux for a powerpc target with uClibc available. My problem is that I get a error when loginrec.c is compiled:
openssh/loginrec.c: In function 'construct_utmpx':
openssh/loginrec.c:790:10: error: 'ut' undeclared (first use in this function)
openssh/loginrec.c:790:10: note: each undeclared identifier is reported only once for each function it appears in
My uClibc config includes support for UTMPX.
Looking in openssh/loginrec.c at the mentioned line I see that 'ut' structure pointer name is used when HAVE_ADDR_V6_IN_UTMP is defined while in in the rest of the function only 'utx' is used. For my inexperienced coding skills this looks like a bug, wrong variable name 'ut' is used over 'utx'.
Changing that code to use 'utx' instead of of 'ut' will lead to a successful compilation of the whole SSH package.
I checked and that chunk of code is still unchanged in OpenSSH_6.5p1.
However I am not sure if my attempt to fix the error is the correct way so I would really appreciate if someone could help me with this.
Thanks for this great software,
More information about the openssh-unix-dev