https://git.reactos.org/?p=reactos.git;a=commitdiff;h=82cf6c2b069906f50bb1a24a921f451ce5338366

commit 82cf6c2b069906f50bb1a24a921f451ce5338366
Author:     Oleg Dubinskiy <[email protected]>
AuthorDate: Wed Dec 7 23:15:42 2022 +0100
Commit:     GitHub <[email protected]>
CommitDate: Thu Dec 8 01:15:42 2022 +0300

    [NTOS:IO] Properly zero-initialize a file object created by IopParseDevice 
(#4931)
    
    Fix uninitialized kernel memory leakage for a case when a file object 
extension is appended.
    
    CORE-18711
---
 ntoskrnl/io/iomgr/file.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/ntoskrnl/io/iomgr/file.c b/ntoskrnl/io/iomgr/file.c
index 548c7f28db7..bfe11ab295b 100644
--- a/ntoskrnl/io/iomgr/file.c
+++ b/ntoskrnl/io/iomgr/file.c
@@ -857,7 +857,7 @@ IopParseDevice(IN PVOID ParseObject,
             }
 
             /* Clear the file object */
-            RtlZeroMemory(FileObject, sizeof(FILE_OBJECT));
+            RtlZeroMemory(FileObject, ObjectSize);
 
             /* Check if this is Synch I/O */
             if (OpenPacket->CreateOptions &
@@ -917,6 +917,7 @@ IopParseDevice(IN PVOID ParseObject,
                 /* Make sure the file object knows it has an extension */
                 FileObject->Flags |= FO_FILE_OBJECT_HAS_EXTENSION;
 
+                /* Initialize file object extension */
                 FileObjectExtension = (PFILE_OBJECT_EXTENSION)(FileObject + 1);
                 FileObject->FileObjectExtension = FileObjectExtension;
 

Reply via email to