Merge pull request #217 from giuseppe/add-error-checks

main: fix lookup for overflow uid
This commit is contained in:
Giuseppe Scrivano 2020-06-20 21:14:45 +02:00 committed by GitHub
commit a7dd94374b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 1 deletions

4
NEWS
View File

@ -1,3 +1,7 @@
* fuse-overlayfs-1.1.1
- fix lookup for overflow uid when it is different than the overflow gid.
* fuse-overlayfs-1.1.0
- use openat2(2) when available.

6
main.c
View File

@ -666,7 +666,7 @@ find_mapping (unsigned int id, struct ovl_mapping *mapping, bool direct, bool ui
static uid_t
get_uid (struct ovl_data *data, uid_t id)
{
return find_mapping (id, data->uid_mappings, false, false);
return find_mapping (id, data->uid_mappings, false, true);
}
static uid_t
@ -5232,12 +5232,16 @@ main (int argc, char *argv[])
mkdir (path, 0700);
free (lo.workdir);
lo.workdir = strdup (path);
if (lo.workdir == NULL)
error (EXIT_FAILURE, errno, "allocating workdir path");
lo.workdir_fd = open (lo.workdir, O_DIRECTORY);
if (lo.workdir_fd < 0)
error (EXIT_FAILURE, errno, "cannot open workdir");
dfd = dup (lo.workdir_fd);
if (dfd < 0)
error (EXIT_FAILURE, errno, "dup workdir file descriptor");
empty_dirfd (dfd);
}