Author: pschweitzer
Date: Sun Apr  6 12:35:54 2014
New Revision: 62647

URL: http://svn.reactos.org/svn/reactos?rev=62647&view=rev
Log:
[EVENTLOG]
- Fix memory leak
- Fix null pointer dereference

CID #515253
CID #716316

Modified:
    trunk/reactos/base/services/eventlog/file.c
    trunk/reactos/base/services/eventlog/rpc.c

Modified: trunk/reactos/base/services/eventlog/file.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/services/eventlog/file.c?rev=62647&r1=62646&r2=62647&view=diff
==============================================================================
--- trunk/reactos/base/services/eventlog/file.c [iso-8859-1] (original)
+++ trunk/reactos/base/services/eventlog/file.c [iso-8859-1] Sun Apr  6 
12:35:54 2014
@@ -979,6 +979,7 @@
             if (RecBuf->Reserved != LOGFILE_SIGNATURE)
             {
                 DPRINT1("LogFile corrupt!\n");
+                HeapFree(GetProcessHeap(), 0, RecBuf);
                 RtlReleaseResource(&LogFile->Lock);
                 return FALSE;
             }

Modified: trunk/reactos/base/services/eventlog/rpc.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/services/eventlog/rpc.c?rev=62647&r1=62646&r2=62647&view=diff
==============================================================================
--- trunk/reactos/base/services/eventlog/rpc.c  [iso-8859-1] (original)
+++ trunk/reactos/base/services/eventlog/rpc.c  [iso-8859-1] Sun Apr  6 
12:35:54 2014
@@ -921,20 +921,22 @@
     }
 
 Done:
-    for (i = 0; i < NumStrings; i++)
-    {
-        if (StringsArrayW[i] != NULL)
+    if (StringsArrayW != NULL)
+    {
+        for (i = 0; i < NumStrings; i++)
         {
-            if (StringsArrayW[i]->Buffer)
+            if (StringsArrayW[i] != NULL)
             {
-                RtlFreeUnicodeString(StringsArrayW[i]);
-                HeapFree(MyHeap, 0, StringsArrayW[i]);
+                if (StringsArrayW[i]->Buffer)
+                {
+                    RtlFreeUnicodeString(StringsArrayW[i]);
+                    HeapFree(MyHeap, 0, StringsArrayW[i]);
+                }
             }
         }
-    }
-
-    if (StringsArrayW != NULL)
+
         HeapFree(MyHeap, 0, StringsArrayW);
+    }
 
     RtlFreeUnicodeString(&ComputerNameW);
 


Reply via email to