From 10ea9a833f90ee4adb3dbbb70db84cf9945c04db Mon Sep 17 00:00:00 2001 From: Bill Zissimopoulos Date: Fri, 9 Sep 2016 11:23:29 -0700 Subject: [PATCH] dll: fuse: fixes --- src/dll/fuse/fuse_intf.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/dll/fuse/fuse_intf.c b/src/dll/fuse/fuse_intf.c index e88b6a2a..fae2ecbd 100644 --- a/src/dll/fuse/fuse_intf.c +++ b/src/dll/fuse/fuse_intf.c @@ -1880,6 +1880,8 @@ static NTSTATUS fsp_fuse_intf_SetReparsePoint(FSP_FILE_SYSTEM *FileSystem, if (0 == f->ops.rename || 0 == f->ops.unlink) return STATUS_INVALID_DEVICE_REQUEST; + ReparseData = (PREPARSE_DATA_BUFFER)Buffer; + if (IO_REPARSE_TAG_SYMLINK == ReparseData->ReparseTag || ( IO_REPARSE_TAG_NFS == ReparseData->ReparseTag && NFS_SPECFILE_LNK == *(PUINT64)ReparseData->GenericReparseBuffer.DataBuffer)) @@ -1912,8 +1914,6 @@ static NTSTATUS fsp_fuse_intf_SetReparsePoint(FSP_FILE_SYSTEM *FileSystem, if (!NT_SUCCESS(Result)) return Result; - ReparseData = (PREPARSE_DATA_BUFFER)Buffer; - if (IsSymlink) { if (IO_REPARSE_TAG_SYMLINK == ReparseData->ReparseTag) @@ -1937,7 +1937,7 @@ static NTSTATUS fsp_fuse_intf_SetReparsePoint(FSP_FILE_SYSTEM *FileSystem, /* the first path component is assumed to be the device name; skip it! */ ReparseTargetPath += 4; ReparseTargetPathLength -= 4 * sizeof(WCHAR); - while (0 < ReparseTargetPathLength && '\\' != ReparseTargetPath) + while (0 < ReparseTargetPathLength && L'\\' != *ReparseTargetPath) ReparseTargetPathLength--, ReparseTargetPath++; } else