[NTOS:IO]
authorThomas Faber <thomas.faber@reactos.org>
Sat, 1 Jun 2013 20:50:13 +0000 (20:50 +0000)
committerThomas Faber <thomas.faber@reactos.org>
Sat, 1 Jun 2013 20:50:13 +0000 (20:50 +0000)
- Do not dereference an unsafe ObjectAttributes pointer in IoCreateFile. Spotted by Aleksandar Andrejevic
(I'm removing the OriginalAttributes assignment completely because it's never used, and it generally makes no sense to copy this. ObOpenObjectByName already takes care of everything in attributes)
CORE-7167

svn path=/trunk/; revision=59134

reactos/ntoskrnl/io/iomgr/file.c

index 37a6079..28b5426 100644 (file)
@@ -1761,7 +1761,7 @@ IoCreateFile(OUT PHANDLE FileHandle,
                 SystemEaBuffer = ExAllocatePoolWithTag(NonPagedPool,
                                                        EaLength,
                                                        TAG_EA);
-                if(!SystemEaBuffer)
+                if (!SystemEaBuffer)
                 {
                     _SEH2_YIELD(return STATUS_INSUFFICIENT_RESOURCES);
                 }
@@ -1840,7 +1840,6 @@ IoCreateFile(OUT PHANDLE FileHandle,
     RtlZeroMemory(&OpenPacket, sizeof(OPEN_PACKET));
     OpenPacket.Type = IO_TYPE_OPEN_PACKET;
     OpenPacket.Size = sizeof(OPEN_PACKET);
-    OpenPacket.OriginalAttributes = *ObjectAttributes;
     OpenPacket.AllocationSize = SafeAllocationSize;
     OpenPacket.CreateOptions = CreateOptions;
     OpenPacket.FileAttributes = (USHORT)FileAttributes;