[NTOS:OB]
authorThomas Faber <thomas.faber@reactos.org>
Sun, 3 Jul 2016 08:22:43 +0000 (08:22 +0000)
committerThomas Faber <thomas.faber@reactos.org>
Sun, 3 Jul 2016 08:22:43 +0000 (08:22 +0000)
- Use SEH to access the link target buffer in NtQuerySymbolicLinkObject
CORE-11509

svn path=/trunk/; revision=71769

reactos/ntoskrnl/ob/oblink.c

index c94f850..6a4eac8 100644 (file)
@@ -603,9 +603,18 @@ NtCreateSymbolicLinkObject(OUT PHANDLE LinkHandle,
         }
 
         /* Copy it */
-        RtlCopyMemory(SymbolicLink->LinkTarget.Buffer,
-                      CapturedLinkTarget.Buffer,
-                      CapturedLinkTarget.MaximumLength);
+        _SEH2_TRY
+        {
+            RtlCopyMemory(SymbolicLink->LinkTarget.Buffer,
+                          CapturedLinkTarget.Buffer,
+                          CapturedLinkTarget.MaximumLength);
+        }
+        _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
+        {
+            ObDereferenceObject(SymbolicLink);
+            _SEH2_YIELD(return _SEH2_GetExceptionCode());
+        }
+        _SEH2_END;
 
         /* Initialize the remaining name, dos drive index and target object */
         SymbolicLink->LinkTargetObject = NULL;