* path.h (path_conv::init_reopen_attr): Change from void to returning
POBJECT_ATTRIBUTES. Take OBJECT_ATTRIBUTES reference as argument, not pointer. * fhandler_disk_file.cc: Throughout accommodate above change. * syscalls.cc: Ditto. * ntea.cc (read_ea): Don't set hdl to NULL if it's already NULL. Set attr with pc.init_reopen_attr before trying to reopen file. (write_ea): Ditto. * security.cc (get_file_sd): Use pc.init_reopen_attr rather than pc.get_object_attr when trying to reopen file. (set_file_sd): Ditto.
This commit is contained in:
@@ -281,14 +281,15 @@ class path_conv
|
||||
NULL, sa.lpSecurityDescriptor);
|
||||
return &attr;
|
||||
}
|
||||
inline void init_reopen_attr (POBJECT_ATTRIBUTES attr, HANDLE h)
|
||||
inline POBJECT_ATTRIBUTES init_reopen_attr (OBJECT_ATTRIBUTES &attr, HANDLE h)
|
||||
{
|
||||
if (has_buggy_reopen ())
|
||||
InitializeObjectAttributes (attr, get_nt_native_path (),
|
||||
InitializeObjectAttributes (&attr, get_nt_native_path (),
|
||||
objcaseinsensitive (), NULL, NULL)
|
||||
else
|
||||
InitializeObjectAttributes (attr, &ro_u_empty, objcaseinsensitive (),
|
||||
InitializeObjectAttributes (&attr, &ro_u_empty, objcaseinsensitive (),
|
||||
h, NULL);
|
||||
return &attr;
|
||||
}
|
||||
inline size_t get_wide_win32_path_len ()
|
||||
{
|
||||
|
Reference in New Issue
Block a user