mirror of
https://github.com/reactos/reactos.git
synced 2024-06-29 01:12:06 +00:00
[SAMLIB]
Fix the SamQuerySecurityObject implementation. svn path=/trunk/; revision=60892
This commit is contained in:
parent
6800c4f9e2
commit
3f83392306
|
@ -1609,23 +1609,19 @@ SamQuerySecurityObject(IN SAM_HANDLE ObjectHandle,
|
||||||
IN SECURITY_INFORMATION SecurityInformation,
|
IN SECURITY_INFORMATION SecurityInformation,
|
||||||
OUT PSECURITY_DESCRIPTOR *SecurityDescriptor)
|
OUT PSECURITY_DESCRIPTOR *SecurityDescriptor)
|
||||||
{
|
{
|
||||||
SAMPR_SR_SECURITY_DESCRIPTOR LocalSecurityDescriptor;
|
PSAMPR_SR_SECURITY_DESCRIPTOR SamSecurityDescriptor = NULL;
|
||||||
PSAMPR_SR_SECURITY_DESCRIPTOR pLocalSecurityDescriptor;
|
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
|
|
||||||
TRACE("SamQuerySecurityObject(%p %lu %p)\n",
|
TRACE("SamQuerySecurityObject(%p %lu %p)\n",
|
||||||
ObjectHandle, SecurityInformation, SecurityDescriptor);
|
ObjectHandle, SecurityInformation, SecurityDescriptor);
|
||||||
|
|
||||||
LocalSecurityDescriptor.Length = 0;
|
*SecurityDescriptor = NULL;
|
||||||
LocalSecurityDescriptor.SecurityDescriptor = NULL;
|
|
||||||
|
|
||||||
RpcTryExcept
|
RpcTryExcept
|
||||||
{
|
{
|
||||||
pLocalSecurityDescriptor = &LocalSecurityDescriptor;
|
|
||||||
|
|
||||||
Status = SamrQuerySecurityObject((SAMPR_HANDLE)ObjectHandle,
|
Status = SamrQuerySecurityObject((SAMPR_HANDLE)ObjectHandle,
|
||||||
SecurityInformation,
|
SecurityInformation,
|
||||||
&pLocalSecurityDescriptor);
|
&SamSecurityDescriptor);
|
||||||
}
|
}
|
||||||
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
|
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
|
||||||
{
|
{
|
||||||
|
@ -1633,7 +1629,17 @@ SamQuerySecurityObject(IN SAM_HANDLE ObjectHandle,
|
||||||
}
|
}
|
||||||
RpcEndExcept;
|
RpcEndExcept;
|
||||||
|
|
||||||
*SecurityDescriptor = LocalSecurityDescriptor.SecurityDescriptor;
|
TRACE("SamSecurityDescriptor: %p\n", SamSecurityDescriptor);
|
||||||
|
|
||||||
|
if (SamSecurityDescriptor != NULL)
|
||||||
|
{
|
||||||
|
TRACE("SamSecurityDescriptor->Length: %lu\n", SamSecurityDescriptor->Length);
|
||||||
|
TRACE("SamSecurityDescriptor->SecurityDescriptor: %p\n", SamSecurityDescriptor->SecurityDescriptor);
|
||||||
|
|
||||||
|
*SecurityDescriptor = SamSecurityDescriptor->SecurityDescriptor;
|
||||||
|
|
||||||
|
midl_user_free(SamSecurityDescriptor);
|
||||||
|
}
|
||||||
|
|
||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue