From 3ec57dfda560a3c206d60352b8efe7c7dbe46c80 Mon Sep 17 00:00:00 2001 From: Hartmut Birr Date: Tue, 5 Nov 2002 20:51:23 +0000 Subject: [PATCH] * Check for symbolic-links in ObFindObject. svn path=/trunk/; revision=3707 --- reactos/ntoskrnl/ob/object.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/reactos/ntoskrnl/ob/object.c b/reactos/ntoskrnl/ob/object.c index 07801849e00..66e80344fb3 100644 --- a/reactos/ntoskrnl/ob/object.c +++ b/reactos/ntoskrnl/ob/object.c @@ -1,4 +1,4 @@ -/* $Id: object.c,v 1.56 2002/09/08 10:23:39 chorns Exp $ +/* $Id: object.c,v 1.57 2002/11/05 20:51:23 hbirr Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -17,6 +17,7 @@ #include #include #include +#include #define NDEBUG #include @@ -111,6 +112,7 @@ NTSTATUS ObFindObject(POBJECT_ATTRIBUTES ObjectAttributes, PWSTR Path; PWSTR current; UNICODE_STRING PathString; + ULONG Attributes; DPRINT("ObFindObject(ObjectAttributes %x, ReturnedObject %x, " "RemainingPath %x)\n",ObjectAttributes,ReturnedObject,RemainingPath); @@ -167,6 +169,9 @@ NTSTATUS ObFindObject(POBJECT_ATTRIBUTES ObjectAttributes, } RootObject = CurrentObject; + Attributes = ObjectAttributes->Attributes; + if (ObjectType == IoSymbolicLinkType) + Attributes |= OBJ_OPENLINK; while (TRUE) { @@ -185,7 +190,7 @@ NTSTATUS ObFindObject(POBJECT_ATTRIBUTES ObjectAttributes, &NextObject, &PathString, ¤t, - ObjectAttributes->Attributes); + Attributes); if (Status == STATUS_REPARSE) { /* reparse the object path */