* fhandler_disk_file.cc (__DIR_mounts::eval_ino): Create path_conv
with PC_KEEP_HANDLE flag. * path.h (path_conv::operator =): Duplicate UNICODE path as well. * security.cc (check_file_access): Use path_conv handle if available. * syscalls.cc (access): Create fhandler with PC_KEEP_HANDLE flag set. (euidaccess): Ditto. (faccessat): Ditto.
This commit is contained in:
@@ -282,7 +282,13 @@ class path_conv
|
||||
path = cstrdup (pc.path);
|
||||
conv_handle.dup (pc.conv_handle);
|
||||
normalized_path = cstrdup(pc.normalized_path);
|
||||
wide_path = NULL;
|
||||
if (pc.wide_path)
|
||||
{
|
||||
wide_path = cwcsdup (uni_path.Buffer);
|
||||
if (!wide_path)
|
||||
api_fatal ("cwcsdup would have returned NULL");
|
||||
uni_path.Buffer = wide_path;
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
void free_strings ()
|
||||
|
Reference in New Issue
Block a user