chpst: fix a bug where -U USER was using wrong USER (one from -u USER)

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2013-11-29 16:39:28 +01:00
parent 72745632a1
commit 1a7256ac38
2 changed files with 3 additions and 5 deletions

View File

@ -175,8 +175,7 @@ int FAST_FUNC INET6_resolve(const char *name, struct sockaddr_in6 *sin6)
return -1;
}
memcpy(sin6, ai->ai_addr, sizeof(*sin6));
if (ai)
freeaddrinfo(ai);
freeaddrinfo(ai);
return 0;
}

View File

@ -236,7 +236,6 @@ int chpst_main(int argc UNUSED_PARAM, char **argv)
{
struct bb_uidgid_t ugid;
char *set_user = set_user; /* for compiler */
char *env_user = env_user;
char *env_dir = env_dir;
char *root;
char *nicestr;
@ -264,7 +263,7 @@ int chpst_main(int argc UNUSED_PARAM, char **argv)
IF_CHPST("/:n:vP012"),
&limita, &limitc, &limitd, &limitf, &limitl,
&limitm, &limito, &limitp, &limitr, &limits, &limitt,
&set_user, &env_user, &env_dir
&set_user, &set_user, &env_dir
IF_CHPST(, &root, &nicestr));
argv += optind;
if (opt & OPT_m) { // -m means -asld
@ -292,7 +291,7 @@ int chpst_main(int argc UNUSED_PARAM, char **argv)
// envuidgid?
if (ENABLE_ENVUIDGID && applet_name[0] == 'e' && applet_name[3] == 'u') {
env_user = *argv++;
set_user = *argv++;
opt |= OPT_U;
}