Commit 20087962 by Stéphane Graber

conf.c: Cast st_uid and st_gid to int

In eglibc st_uid and st_gid are defined as unsigned integers, in bionic those are defined as unsigned long (which is inconsistent with the kernel's defintion that's uint_32). To workaround this problem, simply cast those two to int. Signed-off-by: 's avatarStéphane Graber <stgraber@ubuntu.com> Acked-by: 's avatarSerge E. Hallyn <serge.hallyn@ubuntu.com>
parent b3ef6e16
...@@ -2617,7 +2617,7 @@ static int uid_shift_file(char *path, struct lxc_conf *c) ...@@ -2617,7 +2617,7 @@ static int uid_shift_file(char *path, struct lxc_conf *c)
newuid = shiftid(c, statbuf.st_uid, ID_TYPE_UID); newuid = shiftid(c, statbuf.st_uid, ID_TYPE_UID);
newgid = shiftid(c, statbuf.st_gid, ID_TYPE_GID); newgid = shiftid(c, statbuf.st_gid, ID_TYPE_GID);
if (newuid != statbuf.st_uid || newgid != statbuf.st_gid) { if (newuid != statbuf.st_uid || newgid != statbuf.st_gid) {
DEBUG("chowning %s from %d:%d to %d:%d\n", path, statbuf.st_uid, statbuf.st_gid, newuid, newgid); DEBUG("chowning %s from %d:%d to %d:%d\n", path, (int)statbuf.st_uid, (int)statbuf.st_gid, newuid, newgid);
if (chown(path, newuid, newgid)) { if (chown(path, newuid, newgid)) {
SYSERROR("chown(%s)", path); SYSERROR("chown(%s)", path);
return -1; return -1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment