[lxc-devel] [PATCH] conf.c: Cast st_uid and st_gid to int

Stéphane Graber stgraber at ubuntu.com
Tue Jan 15 17:47:33 UTC 2013


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: Stéphane Graber <stgraber at ubuntu.com>
---
 src/lxc/conf.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lxc/conf.c b/src/lxc/conf.c
index 4eb3eeb..65cc2dc 100644
--- a/src/lxc/conf.c
+++ b/src/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);
 	newgid = shiftid(c, statbuf.st_gid, ID_TYPE_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)) {
 			SYSERROR("chown(%s)", path);
 			return -1;
-- 
1.8.0





More information about the lxc-devel mailing list