From 0d88b37fc63023eeb749080713449b124e346e9e Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Thu, 25 Apr 2013 13:59:22 -0700 Subject: Add early return in file_set_dosmode() on a read only share. Signed-off-by: Jeremy Allison Reviewed-by: Volker Lendecke --- source3/smbd/dosmode.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'source3') diff --git a/source3/smbd/dosmode.c b/source3/smbd/dosmode.c index 19b7675a54..cd7a1fdca1 100644 --- a/source3/smbd/dosmode.c +++ b/source3/smbd/dosmode.c @@ -706,6 +706,11 @@ int file_set_dosmode(connection_struct *conn, struct smb_filename *smb_fname, uint32_t old_mode; struct timespec new_create_timespec; + if (!CAN_WRITE(conn)) { + errno = EROFS; + return -1; + } + /* We only allow READONLY|HIDDEN|SYSTEM|DIRECTORY|ARCHIVE here. */ dosmode &= (SAMBA_ATTRIBUTES_MASK | FILE_ATTRIBUTE_OFFLINE); -- cgit