aboutsummaryrefslogtreecommitdiff
path: root/toys/lsb/su.c
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2013-12-23 06:49:38 -0600
committerRob Landley <rob@landley.net>2013-12-23 06:49:38 -0600
commitafba5b8efdf1bac2c02ca787840a2be053c800f7 (patch)
tree1af5b850e90663fb3be71597d02cd525bf5be4e8 /toys/lsb/su.c
parent5a73f3992d75dd4c7beefae2fa8a843d14372b19 (diff)
downloadtoybox-afba5b8efdf1bac2c02ca787840a2be053c800f7.tar.gz
Fix some issues raised (albeit indirectly) by Isaac Dunham.
POLL_IN defined as a constant by some libc. Factor out login.c's change_identity() to xwrap.c as xsetuser(). Replace xsetuid() with xsetuser() Put a space between argument globals and non-argument globals. TT starts zeroed, don't need to re-zero entries in it. STDIN_FILENO has been 0 since 1969, even DOS copied that. Just say 0. Added an xchroot() using xchdir() to lib/xwrap.c. Remove endgrent() call until somebody can explain why it was there.
Diffstat (limited to 'toys/lsb/su.c')
-rw-r--r--toys/lsb/su.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/toys/lsb/su.c b/toys/lsb/su.c
index 52d20244..04b0dc1d 100644
--- a/toys/lsb/su.c
+++ b/toys/lsb/su.c
@@ -60,7 +60,7 @@ void su_main()
if (!passhash || strcmp(passhash, shp->sp_pwdp)) goto deny;
up = xgetpwnam(name);
- xsetuid(up->pw_uid);
+ xsetuser(up);
argv = argu = xmalloc(sizeof(char *)*(toys.optc + 4));
*(argv++) = TT.s ? TT.s : up->pw_shell;