Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
8543c324
Commit
8543c324
authored
Feb 18, 2010
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ntdll: Properly handle empty but present ACLs in self-relative descriptors.
parent
9c87c888
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
8 additions
and
8 deletions
+8
-8
sec.c
dlls/ntdll/sec.c
+8
-8
No files found.
dlls/ntdll/sec.c
View file @
8543c324
...
...
@@ -478,12 +478,12 @@ NTSTATUS WINAPI RtlCopySecurityDescriptor(PSECURITY_DESCRIPTOR pSourceSD, PSECUR
length
=
RtlLengthSid
(
Group
);
RtlCopySid
(
length
,
SELF_RELATIVE_FIELD
(
dst
,
Group
),
Group
);
}
if
(
src
->
Control
&
SE_SACL_PRESENT
)
if
(
(
src
->
Control
&
SE_SACL_PRESENT
)
&&
src
->
Sacl
)
{
Sacl
=
(
PACL
)
SELF_RELATIVE_FIELD
(
src
,
Sacl
);
copy_acl
(
Sacl
->
AclSize
,
(
PACL
)
SELF_RELATIVE_FIELD
(
dst
,
Sacl
),
Sacl
);
}
if
(
src
->
Control
&
SE_DACL_PRESENT
)
if
(
(
src
->
Control
&
SE_DACL_PRESENT
)
&&
src
->
Dacl
)
{
Dacl
=
(
PACL
)
SELF_RELATIVE_FIELD
(
src
,
Dacl
);
copy_acl
(
Dacl
->
AclSize
,
(
PACL
)
SELF_RELATIVE_FIELD
(
dst
,
Dacl
),
Dacl
);
...
...
@@ -604,7 +604,7 @@ NTSTATUS WINAPI RtlGetDaclSecurityDescriptor(
if
(
(
*
lpbDaclPresent
=
(
SE_DACL_PRESENT
&
lpsd
->
Control
)
?
1
:
0
)
)
{
if
(
SE_SELF_RELATIVE
&
lpsd
->
Contro
l
)
if
(
(
SE_SELF_RELATIVE
&
lpsd
->
Control
)
&&
lpsd
->
Dac
l
)
*
pDacl
=
(
PACL
)
SELF_RELATIVE_FIELD
(
lpsd
,
Dacl
);
else
*
pDacl
=
lpsd
->
Dacl
;
...
...
@@ -673,7 +673,7 @@ NTSTATUS WINAPI RtlGetSaclSecurityDescriptor(
if
(
(
*
lpbSaclPresent
=
(
SE_SACL_PRESENT
&
lpsd
->
Control
)
?
1
:
0
)
)
{
if
(
SE_SELF_RELATIVE
&
lpsd
->
Contro
l
)
if
(
(
SE_SELF_RELATIVE
&
lpsd
->
Control
)
&&
lpsd
->
Sac
l
)
*
pSacl
=
(
PACL
)
SELF_RELATIVE_FIELD
(
lpsd
,
Sacl
);
else
*
pSacl
=
lpsd
->
Sacl
;
...
...
@@ -944,14 +944,14 @@ NTSTATUS WINAPI RtlSelfRelativeToAbsoluteSD(
status
=
STATUS_BUFFER_TOO_SMALL
;
}
if
(
pRel
->
Control
&
SE_DACL_PRESENT
&&
if
(
(
pRel
->
Control
&
SE_DACL_PRESENT
)
&&
pRel
->
Dacl
&&
*
lpdwDaclSize
<
((
PACL
)
SELF_RELATIVE_FIELD
(
pRel
,
Dacl
))
->
AclSize
)
{
*
lpdwDaclSize
=
((
PACL
)
SELF_RELATIVE_FIELD
(
pRel
,
Dacl
))
->
AclSize
;
status
=
STATUS_BUFFER_TOO_SMALL
;
}
if
(
pRel
->
Control
&
SE_SACL_PRESENT
&&
if
(
(
pRel
->
Control
&
SE_SACL_PRESENT
)
&&
pRel
->
Sacl
&&
*
lpdwSaclSize
<
((
PACL
)
SELF_RELATIVE_FIELD
(
pRel
,
Sacl
))
->
AclSize
)
{
*
lpdwSaclSize
=
((
PACL
)
SELF_RELATIVE_FIELD
(
pRel
,
Sacl
))
->
AclSize
;
...
...
@@ -983,7 +983,7 @@ NTSTATUS WINAPI RtlSelfRelativeToAbsoluteSD(
pAbs
->
Owner
=
NULL
;
pAbs
->
Group
=
NULL
;
if
(
pRel
->
Control
&
SE_SACL_PRESENT
)
if
(
(
pRel
->
Control
&
SE_SACL_PRESENT
)
&&
pRel
->
Sacl
)
{
PACL
pAcl
=
(
PACL
)
SELF_RELATIVE_FIELD
(
pRel
,
Sacl
);
...
...
@@ -991,7 +991,7 @@ NTSTATUS WINAPI RtlSelfRelativeToAbsoluteSD(
pAbs
->
Sacl
=
pSacl
;
}
if
(
pRel
->
Control
&
SE_DACL_PRESENT
)
if
(
(
pRel
->
Control
&
SE_DACL_PRESENT
)
&&
pRel
->
Dacl
)
{
PACL
pAcl
=
(
PACL
)
SELF_RELATIVE_FIELD
(
pRel
,
Dacl
);
memcpy
(
pDacl
,
pAcl
,
pAcl
->
AclSize
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment