From 1dfa3ee986820154f0908093a0e82ee8e6d84414 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Fri, 16 Dec 2011 15:48:03 -0800 Subject: Ensure VALID_STAT before accessing fields. --- source3/smbd/open.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'source3/smbd/open.c') diff --git a/source3/smbd/open.c b/source3/smbd/open.c index 86291ae714..19a13cde60 100644 --- a/source3/smbd/open.c +++ b/source3/smbd/open.c @@ -99,7 +99,9 @@ NTSTATUS smbd_check_access_rights(struct connection_struct *conn, return NT_STATUS_OK; } - if (access_mask == DELETE_ACCESS && S_ISLNK(smb_fname->st.st_ex_mode)) { + if (access_mask == DELETE_ACCESS && + VALID_STAT(smb_fname->st) && + S_ISLNK(smb_fname->st.st_ex_mode)) { /* We can always delete a symlink. */ DEBUG(10,("smbd_check_access_rights: not checking ACL " "on DELETE_ACCESS on symlink %s.\n", -- cgit