From 0a6703c7f7c0341f436b2d31745a85108127cec4 Mon Sep 17 00:00:00 2001 From: chrislu Date: Wed, 6 Apr 2022 09:58:48 -0700 Subject: [PATCH] avoid possible nil attributes --- weed/mount/weedfs_attr.go | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/weed/mount/weedfs_attr.go b/weed/mount/weedfs_attr.go index 55a29542a..caef34ac1 100644 --- a/weed/mount/weedfs_attr.go +++ b/weed/mount/weedfs_attr.go @@ -138,18 +138,20 @@ func (wfs *WFS) setAttrByPbEntry(out *fuse.Attr, inode uint64, entry *filer_pb.E out.Size = filer.FileSize(entry) out.Blocks = (out.Size + blockSize - 1) / blockSize setBlksize(out, blockSize) - out.Mtime = uint64(entry.Attributes.Mtime) - out.Ctime = uint64(entry.Attributes.Mtime) - out.Atime = uint64(entry.Attributes.Mtime) - out.Mode = toSyscallMode(os.FileMode(entry.Attributes.FileMode)) + if entry.Attributes != nil { + out.Mtime = uint64(entry.Attributes.Mtime) + out.Ctime = uint64(entry.Attributes.Mtime) + out.Atime = uint64(entry.Attributes.Mtime) + out.Mode = toSyscallMode(os.FileMode(entry.Attributes.FileMode)) + out.Uid = entry.Attributes.Uid + out.Gid = entry.Attributes.Gid + out.Rdev = entry.Attributes.Rdev + } if entry.HardLinkCounter > 0 { out.Nlink = uint32(entry.HardLinkCounter) } else { out.Nlink = 1 } - out.Uid = entry.Attributes.Uid - out.Gid = entry.Attributes.Gid - out.Rdev = entry.Attributes.Rdev } func (wfs *WFS) setAttrByFilerEntry(out *fuse.Attr, inode uint64, entry *filer.Entry) {