From aa4d139a0cc0a40a18bbe76e4ea84226f0c967ce Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Sun, 5 Jan 2014 12:00:16 +0000 Subject: [PATCH] [SAMSRV] SamrGetAliasMembership: Do not overwrite enties of the RID array. svn path=/trunk/; revision=61536 --- reactos/dll/win32/samsrv/samrpc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/reactos/dll/win32/samsrv/samrpc.c b/reactos/dll/win32/samsrv/samrpc.c index ab67864e63c..86c6c1dbd71 100644 --- a/reactos/dll/win32/samsrv/samrpc.c +++ b/reactos/dll/win32/samsrv/samrpc.c @@ -3250,6 +3250,7 @@ SamrGetAliasMembership(IN SAMPR_HANDLE DomainHandle, ULONG ValueCount; ULONG DataLength; ULONG i, j; + ULONG RidIndex; NTSTATUS Status; WCHAR NameBuffer[9]; @@ -3334,6 +3335,7 @@ TRACE("Open %S\n", MemberSidString); goto done; } + RidIndex = 0; for (i = 0; i < SidArray->Count; i++) { ConvertSidToStringSid(SidArray->Sids[i].SidPointer, &MemberSidString); @@ -3365,7 +3367,9 @@ TRACE("Open %S\n", MemberSidString); NULL); if (NT_SUCCESS(Status)) { - RidArray[j] = wcstoul(NameBuffer, NULL, 16); + /* FIXME: Do not return each RID more than once. */ + RidArray[RidIndex] = wcstoul(NameBuffer, NULL, 16); + RidIndex++; } } }