Author: ekohl
Date: Sun Aug 14 10:26:23 2016
New Revision: 72218
URL: 
http://svn.reactos.org/svn/reactos?rev=72218&view=rev
Log:
[LSASRV]
Implement LsaIFree_LSAPR_CR_CIPHER_VALUE, LsaIFree_LSAPR_PRIVILEGE_ENUM_BUFFER and
LsaIFree_LSAPR_REFERENCED_DOMAIN_LIST.
Modified:
    trunk/reactos/dll/win32/lsasrv/lsasrv.c
    trunk/reactos/dll/win32/lsasrv/lsasrv.spec
Modified: trunk/reactos/dll/win32/lsasrv/lsasrv.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/lsasrv/lsasrv.c?…
==============================================================================
--- trunk/reactos/dll/win32/lsasrv/lsasrv.c     [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/lsasrv/lsasrv.c     [iso-8859-1] Sun Aug 14 10:26:23 2016
@@ -36,6 +36,16 @@
 VOID
 NTAPI
+LsaIFree_LSAPR_CR_CIPHER_VALUE(
+    IN PLSAPR_CR_CIPHER_VALUE Ptr)
+{
+    if (Ptr != NULL)
+        midl_user_free(Ptr);
+}
+
+
+VOID
+NTAPI
 LsaIFree_LSAPR_POLICY_INFORMATION(IN POLICY_INFORMATION_CLASS InformationClass,
                                   IN PLSAPR_POLICY_INFORMATION PolicyInformation)
 {
@@ -143,10 +153,61 @@
 VOID
 NTAPI
+LsaIFree_LSAPR_PRIVILEGE_ENUM_BUFFER(
+    IN PLSAPR_PRIVILEGE_ENUM_BUFFER Ptr)
+{
+    ULONG i;
+
+    if (Ptr != NULL)
+    {
+        if (Ptr->Privileges != NULL)
+        {
+            for (i = 0; i < Ptr->Entries; i++)
+            {
+                if (Ptr->Privileges[i].Name.Buffer != NULL)
+                    midl_user_free(Ptr->Privileges[i].Name.Buffer);
+            }
+
+            midl_user_free(Ptr->Privileges);
+        }
+    }
+}
+
+
+VOID
+NTAPI
 LsaIFree_LSAPR_PRIVILEGE_SET(IN PLSAPR_PRIVILEGE_SET Ptr)
 {
     if (Ptr != NULL)
     {
+        midl_user_free(Ptr);
+    }
+}
+
+
+VOID
+NTAPI
+LsaIFree_LSAPR_REFERENCED_DOMAIN_LIST(
+    IN PLSAPR_REFERENCED_DOMAIN_LIST Ptr)
+{
+    ULONG i;
+
+    if (Ptr != NULL)
+    {
+        if (Ptr->Domains != NULL)
+        {
+            for (i = 0; i < Ptr->Entries; i++)
+            {
+                if (Ptr->Domains[i].Name.Buffer != NULL)
+                     midl_user_free(Ptr->Domains[i].Name.Buffer);
+
+                if (Ptr->Domains[i].Sid != NULL)
+                    midl_user_free(Ptr->Domains[i].Sid);
+            }
+
+            midl_user_free(Ptr->Domains);
+        }
+
         midl_user_free(Ptr);
     }
 }
Modified: trunk/reactos/dll/win32/lsasrv/lsasrv.spec
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/lsasrv/lsasrv.sp…
==============================================================================
--- trunk/reactos/dll/win32/lsasrv/lsasrv.spec  [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/lsasrv/lsasrv.spec  [iso-8859-1] Sun Aug 14 10:26:23 2016
@@ -32,12 +32,12 @@
  @ stub LsaIFree_LSAI_PRIVATE_DATA #DATA
  @ stub LsaIFree_LSAI_SECRET_ENUM_BUFFER
  @ stdcall LsaIFree_LSAPR_ACCOUNT_ENUM_BUFFER(ptr)
- @ stub LsaIFree_LSAPR_CR_CIPHER_VALUE
+ @ stdcall LsaIFree_LSAPR_CR_CIPHER_VALUE(ptr)
  @ stub LsaIFree_LSAPR_POLICY_DOMAIN_INFORMATION
  @ stdcall LsaIFree_LSAPR_POLICY_INFORMATION(long ptr)
- @ stub LsaIFree_LSAPR_PRIVILEGE_ENUM_BUFFER
+ @ stdcall LsaIFree_LSAPR_PRIVILEGE_ENUM_BUFFER(ptr)
  @ stdcall LsaIFree_LSAPR_PRIVILEGE_SET(ptr)
- @ stub LsaIFree_LSAPR_REFERENCED_DOMAIN_LIST
+ @ stdcall LsaIFree_LSAPR_REFERENCED_DOMAIN_LIST(ptr)
  @ stub LsaIFree_LSAPR_SR_SECURITY_DESCRIPTOR
  @ stub LsaIFree_LSAPR_TRANSLATED_NAMES
  @ stub LsaIFree_LSAPR_TRANSLATED_SIDS