diff options
author | Jeremy Allison <jra@samba.org> | 2019-10-15 15:04:39 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2019-11-06 18:08:40 +0000 |
commit | d8567d46bd7e371de83e4d1ee1592639eb6f0c06 (patch) | |
tree | e4050efe2ce97234551318ce653b1feacb561aa6 | |
parent | 4b25299c0d00b23c22be1e2a4eed3be5572e623a (diff) | |
download | samba-d8567d46bd7e371de83e4d1ee1592639eb6f0c06.tar.gz |
s3: smbd: SMB1 UNIX extensions - only allow size change on regular file.
Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
-rw-r--r-- | source3/smbd/trans2.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index bcff091f0ea..59821baeddf 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -8301,14 +8301,16 @@ static NTSTATUS smb_set_file_unix_basic(connection_struct *conn, /* Deal with any size changes. */ - status = smb_set_file_size(conn, req, - fsp, - smb_fname, - &sbuf, - size, - false); - if (!NT_STATUS_IS_OK(status)) { - return status; + if (S_ISREG(sbuf.st_ex_mode)) { + status = smb_set_file_size(conn, req, + fsp, + smb_fname, + &sbuf, + size, + false); + if (!NT_STATUS_IS_OK(status)) { + return status; + } } /* Deal with any time changes. */ |