mirror of
https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
synced 2024-12-12 03:13:52 +08:00
debugfs: fix rdump and ls to handle uids and gids > 65536 correctly
https://github.com/tytso/e2fsprogs/issues/63 Signed-off-by: Theodore Ts'o <tytso@mit.edu>
This commit is contained in:
parent
d6d69857e7
commit
37c2008f13
@ -81,12 +81,12 @@ static void fix_perms(const char *cmd, const struct ext2_inode *inode,
|
||||
com_err(cmd, errno, "while setting permissions of %s", name);
|
||||
|
||||
#ifndef HAVE_FCHOWN
|
||||
i = chown(name, inode->i_uid, inode->i_gid);
|
||||
i = chown(name, inode_uid(*inode), inode_gid(*inode));
|
||||
#else
|
||||
if (fd != -1)
|
||||
i = fchown(fd, inode->i_uid, inode->i_gid);
|
||||
i = fchown(fd, inode_uid(*inode), inode_gid(*inode));
|
||||
else
|
||||
i = chown(name, inode->i_uid, inode->i_gid);
|
||||
i = chown(name, inode_uid(*inode), inode_gid(*inode));
|
||||
#endif
|
||||
if (i == -1)
|
||||
com_err(cmd, errno, "while changing ownership of %s", name);
|
||||
|
@ -114,7 +114,7 @@ static int list_dir_proc(ext2_ino_t dir EXT2FS_ATTR((unused)),
|
||||
} else
|
||||
memset(&inode, 0, sizeof(struct ext2_inode));
|
||||
fprintf(ls->f,"/%u/%06o/%d/%d/%.*s/", ino, inode.i_mode,
|
||||
inode.i_uid, inode.i_gid, thislen, dirent->name);
|
||||
inode_uid(inode), inode_gid(inode), thislen, dirent->name);
|
||||
if (LINUX_S_ISDIR(inode.i_mode))
|
||||
fprintf(ls->f, "/");
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user