Fix bug 603: "chown :root thingy" should work now.
This commit is contained in:
parent
e569553aa0
commit
fb8c4983a6
@ -17,8 +17,8 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "busybox.h"
|
#include "busybox.h"
|
||||||
|
|
||||||
static long uid;
|
static uid_t uid = -1;
|
||||||
static long gid;
|
static gid_t gid = -1;
|
||||||
|
|
||||||
static int (*chown_func)(const char *, uid_t, gid_t) = chown;
|
static int (*chown_func)(const char *, uid_t, gid_t) = chown;
|
||||||
|
|
||||||
@ -57,15 +57,12 @@ int chown_main(int argc, char **argv)
|
|||||||
groupName = strchr(*argv, ':');
|
groupName = strchr(*argv, ':');
|
||||||
}
|
}
|
||||||
|
|
||||||
gid = -1;
|
/* Check for the username and groupname */
|
||||||
if (groupName) {
|
if (groupName) {
|
||||||
*groupName++ = '\0';
|
*groupName++ = '\0';
|
||||||
gid = get_ug_id(groupName, bb_xgetgrnam);
|
gid = get_ug_id(groupName, bb_xgetgrnam);
|
||||||
}
|
}
|
||||||
|
if (--groupName != *argv) uid = get_ug_id(*argv, bb_xgetpwnam);
|
||||||
/* Now check for the username */
|
|
||||||
uid = get_ug_id(*argv, bb_xgetpwnam);
|
|
||||||
|
|
||||||
++argv;
|
++argv;
|
||||||
|
|
||||||
/* Ok, ready to do the deed now */
|
/* Ok, ready to do the deed now */
|
||||||
|
Loading…
Reference in New Issue
Block a user