--- dropbear-0.44.old/svr-chansession.c 2005-02-03 02:29:44.000000000 +0100 +++ dropbear-0.44/svr-chansession.c 2005-02-03 02:31:05.000000000 +0100 @@ -859,10 +859,10 @@ /* We can only change uid/gid as root ... */ if (getuid() == 0) { - if ((setgid(ses.authstate.pw->pw_gid) < 0) || + if ((ses.authstate.pw->pw_uid != 0) && ((setgid(ses.authstate.pw->pw_gid) < 0) || (initgroups(ses.authstate.pw->pw_name, ses.authstate.pw->pw_gid) < 0) || - (setuid(ses.authstate.pw->pw_uid) < 0)) { + (setuid(ses.authstate.pw->pw_uid) < 0))) { dropbear_exit("error changing user"); } } else {