mirror of
https://github.com/containers/fuse-overlayfs.git
synced 2025-09-11 00:09:03 -04:00
Merge pull request #217 from giuseppe/add-error-checks
main: fix lookup for overflow uid
This commit is contained in:
commit
a7dd94374b
4
NEWS
4
NEWS
@ -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
|
* fuse-overlayfs-1.1.0
|
||||||
|
|
||||||
- use openat2(2) when available.
|
- use openat2(2) when available.
|
||||||
|
6
main.c
6
main.c
@ -666,7 +666,7 @@ find_mapping (unsigned int id, struct ovl_mapping *mapping, bool direct, bool ui
|
|||||||
static uid_t
|
static uid_t
|
||||||
get_uid (struct ovl_data *data, uid_t id)
|
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
|
static uid_t
|
||||||
@ -5232,12 +5232,16 @@ main (int argc, char *argv[])
|
|||||||
mkdir (path, 0700);
|
mkdir (path, 0700);
|
||||||
free (lo.workdir);
|
free (lo.workdir);
|
||||||
lo.workdir = strdup (path);
|
lo.workdir = strdup (path);
|
||||||
|
if (lo.workdir == NULL)
|
||||||
|
error (EXIT_FAILURE, errno, "allocating workdir path");
|
||||||
|
|
||||||
lo.workdir_fd = open (lo.workdir, O_DIRECTORY);
|
lo.workdir_fd = open (lo.workdir, O_DIRECTORY);
|
||||||
if (lo.workdir_fd < 0)
|
if (lo.workdir_fd < 0)
|
||||||
error (EXIT_FAILURE, errno, "cannot open workdir");
|
error (EXIT_FAILURE, errno, "cannot open workdir");
|
||||||
|
|
||||||
dfd = dup (lo.workdir_fd);
|
dfd = dup (lo.workdir_fd);
|
||||||
|
if (dfd < 0)
|
||||||
|
error (EXIT_FAILURE, errno, "dup workdir file descriptor");
|
||||||
empty_dirfd (dfd);
|
empty_dirfd (dfd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user