From 6347803392479bd7c619d79c42cf14fc73be3110 Mon Sep 17 00:00:00 2001 From: Bill Zissimopoulos Date: Sat, 11 Jun 2016 14:35:02 -0700 Subject: [PATCH] dll: fuse: testing --- src/dll/fuse/fuse_intf.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/dll/fuse/fuse_intf.c b/src/dll/fuse/fuse_intf.c index 501d6d2f..1c334779 100644 --- a/src/dll/fuse/fuse_intf.c +++ b/src/dll/fuse/fuse_intf.c @@ -187,7 +187,7 @@ static NTSTATUS fsp_fuse_intf_GetFileInfoEx(FSP_FILE_SYSTEM *FileSystem, memset(&stbuf, 0, sizeof stbuf); - if (0 != fi && 0 != f->ops.fgetattr) + if (0 != f->ops.fgetattr && 0 != fi && -1 != fi->fh) err = f->ops.fgetattr(PosixPath, (void *)&stbuf, fi); else if (0 != f->ops.getattr) err = f->ops.getattr(PosixPath, (void *)&stbuf); @@ -391,9 +391,14 @@ static NTSTATUS fsp_fuse_intf_Create(FSP_FILE_SYSTEM *FileSystem, err = f->ops.opendir(contexthdr->PosixPath, &fi); Result = fsp_fuse_ntstatus_from_errno(f->env, err); } + else + { + fi.fh = -1; + Result = STATUS_SUCCESS; + } } else - Result = STATUS_SUCCESS; + Result = STATUS_INVALID_DEVICE_REQUEST; } else { @@ -534,7 +539,10 @@ static NTSTATUS fsp_fuse_intf_Open(FSP_FILE_SYSTEM *FileSystem, Result = fsp_fuse_ntstatus_from_errno(f->env, err); } else + { + fi.fh = -1; Result = STATUS_SUCCESS; + } } else {