1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-27 14:04:05 +03:00

No longer need to call SMB_VFS_LSTAT - check name hasn't changed above is sufficient.

Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Mon Apr 25 23:35:37 CEST 2011 on sn-devel-104
This commit is contained in:
Jeremy Allison 2011-04-25 12:45:49 -07:00
parent eeb24c1773
commit d00f1febd5

View File

@ -1005,8 +1005,6 @@ NTSTATUS check_reduced_name(connection_struct *conn, const char *fname)
/* Extra checks if all symlinks are disallowed. */
if (!allow_symlinks) {
struct smb_filename *smb_fname = NULL;
NTSTATUS status;
/* fname can't have changed in resolved_path. */
const char *p = &resolved_name[rootdir_len];
@ -1032,27 +1030,6 @@ NTSTATUS check_reduced_name(connection_struct *conn, const char *fname)
SAFE_FREE(resolved_name);
return NT_STATUS_ACCESS_DENIED;
}
/* Check if we are allowing users to follow symlinks */
/* Patch from David Clerc <David.Clerc@cui.unige.ch>
University of Geneva */
status = create_synthetic_smb_fname(talloc_tos(),
fname, NULL,
NULL, &smb_fname);
if (!NT_STATUS_IS_OK(status)) {
SAFE_FREE(resolved_name);
return status;
}
if ( (SMB_VFS_LSTAT(conn, smb_fname) != -1) &&
(S_ISLNK(smb_fname->st.st_ex_mode)) ) {
SAFE_FREE(resolved_name);
DEBUG(3,("check_reduced_name: denied: file path name "
"%s is a symlink\n",resolved_name));
TALLOC_FREE(smb_fname);
return NT_STATUS_ACCESS_DENIED;
}
TALLOC_FREE(smb_fname);
}
}