mirror of
https://github.com/drakkan/sftpgo.git
synced 2025-12-07 14:50:55 +03:00
add a nil check for attributes
just defensive code Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
This commit is contained in:
@@ -353,23 +353,25 @@ func (c *Connection) handleSFTPSetstat(request *sftp.Request) error {
|
|||||||
attrs := common.StatAttributes{
|
attrs := common.StatAttributes{
|
||||||
Flags: 0,
|
Flags: 0,
|
||||||
}
|
}
|
||||||
if request.AttrFlags().Permissions {
|
if request.Attributes() != nil {
|
||||||
attrs.Flags |= common.StatAttrPerms
|
if request.AttrFlags().Permissions {
|
||||||
attrs.Mode = request.Attributes().FileMode()
|
attrs.Flags |= common.StatAttrPerms
|
||||||
}
|
attrs.Mode = request.Attributes().FileMode()
|
||||||
if request.AttrFlags().UidGid {
|
}
|
||||||
attrs.Flags |= common.StatAttrUIDGID
|
if request.AttrFlags().UidGid {
|
||||||
attrs.UID = int(request.Attributes().UID)
|
attrs.Flags |= common.StatAttrUIDGID
|
||||||
attrs.GID = int(request.Attributes().GID)
|
attrs.UID = int(request.Attributes().UID)
|
||||||
}
|
attrs.GID = int(request.Attributes().GID)
|
||||||
if request.AttrFlags().Acmodtime {
|
}
|
||||||
attrs.Flags |= common.StatAttrTimes
|
if request.AttrFlags().Acmodtime {
|
||||||
attrs.Atime = time.Unix(int64(request.Attributes().Atime), 0)
|
attrs.Flags |= common.StatAttrTimes
|
||||||
attrs.Mtime = time.Unix(int64(request.Attributes().Mtime), 0)
|
attrs.Atime = time.Unix(int64(request.Attributes().Atime), 0)
|
||||||
}
|
attrs.Mtime = time.Unix(int64(request.Attributes().Mtime), 0)
|
||||||
if request.AttrFlags().Size {
|
}
|
||||||
attrs.Flags |= common.StatAttrSize
|
if request.AttrFlags().Size {
|
||||||
attrs.Size = int64(request.Attributes().Size)
|
attrs.Flags |= common.StatAttrSize
|
||||||
|
attrs.Size = int64(request.Attributes().Size)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return c.SetStat(request.Filepath, &attrs)
|
return c.SetStat(request.Filepath, &attrs)
|
||||||
|
|||||||
Reference in New Issue
Block a user