mirror of
https://github.com/samba-team/samba.git
synced 2025-03-20 22:50:26 +03:00
Fix bug #7033 - SMBrmdir call always returns true, even on failure to delete a directory.
Argh. Missed the second (and essential) part of the fix for the above :-(. Jeremy
This commit is contained in:
parent
ce8dcbe91b
commit
105f876eb4
@ -926,6 +926,7 @@ static NTSTATUS close_directory(struct smb_request *req, files_struct *fsp,
|
||||
struct share_mode_lock *lck = NULL;
|
||||
bool delete_dir = False;
|
||||
NTSTATUS status = NT_STATUS_OK;
|
||||
NTSTATUS status1 = NT_STATUS_OK;
|
||||
|
||||
/*
|
||||
* NT can set delete_on_close of the last open
|
||||
@ -1025,9 +1026,9 @@ static NTSTATUS close_directory(struct smb_request *req, files_struct *fsp,
|
||||
fsp, NT_STATUS_OK);
|
||||
}
|
||||
|
||||
status = fd_close(fsp);
|
||||
status1 = fd_close(fsp);
|
||||
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
if (!NT_STATUS_IS_OK(status1)) {
|
||||
DEBUG(0, ("Could not close dir! fname=%s, fd=%d, err=%d=%s\n",
|
||||
fsp_str_dbg(fsp), fsp->fh->fd, errno,
|
||||
strerror(errno)));
|
||||
@ -1045,6 +1046,9 @@ static NTSTATUS close_directory(struct smb_request *req, files_struct *fsp,
|
||||
|
||||
out:
|
||||
TALLOC_FREE(lck);
|
||||
if (NT_STATUS_IS_OK(status) && !NT_STATUS_IS_OK(status1)) {
|
||||
status = status1;
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user