diff --git a/glnx-fdio.c b/glnx-fdio.c index b45b927bca3a81e03a833f5a9d93f06fa45007e0..db214dd555d4db10fc99779db41a0904b3be0dc9 100644 --- a/glnx-fdio.c +++ b/glnx-fdio.c @@ -649,6 +649,8 @@ glnx_file_replace_contents_with_perms_at (int dfd, g_autofree char *tmppath = g_strdup_printf ("/proc/self/fd/%d/.tmpXXXXXX", dfd); glnx_fd_close int fd = -1; + dfd = glnx_dirfd_canonicalize (dfd); + if ((fd = mkostemp (tmppath, O_CLOEXEC)) == -1) { glnx_set_error_from_errno (error);