diff options
| -rw-r--r-- | source3/modules/vfs_afsacl.c | 10 | 
1 files changed, 6 insertions, 4 deletions
| diff --git a/source3/modules/vfs_afsacl.c b/source3/modules/vfs_afsacl.c index 731ddfa583..0e2e1295b9 100644 --- a/source3/modules/vfs_afsacl.c +++ b/source3/modules/vfs_afsacl.c @@ -891,12 +891,14 @@ static BOOL afs_set_nt_acl(vfs_handle_struct *handle, files_struct *fsp,  	pstr_sprintf(name, fsp->fsp_name);  	if (!fsp->is_directory) { +		/* We need to get the name of the directory containing the +		 * file, this is where the AFS acls live */  		char *p = strrchr(name, '/'); -		if (p == NULL) { -			DEBUG(3, ("No / in file string\n")); -			return False; +		if (p != NULL) { +			*p = '\0'; +		} else { +			pstrcpy(name, ".");  		} -		*p = '\0';  	}  	if (!afs_get_afs_acl(name, &old_afs_acl)) { | 
