Ensure VALID_STAT before accessing fields.
[mat/samba.git] / source3 / smbd / open.c
index 86291ae714e10d57a8c42995cd43d2772128b45d..19a13cde600f1c305b0fc56627be6448e15d2c8d 100644 (file)
@@ -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",