mirror of
https://github.com/samba-team/samba.git
synced 2024-12-25 23:21:54 +03:00
Fix bug #7651 - mknod and mkfifo fails with "No such file or directory"
Ensure we check the correct stat struct once we've created the special fix. Thanks to izh1979@gmail.com for pointing out the bug. Jeremy.
This commit is contained in:
parent
338184fb3a
commit
5115f789c0
@ -6799,6 +6799,7 @@ static NTSTATUS smb_set_file_unix_basic(connection_struct *conn,
|
||||
files_struct *all_fsps = NULL;
|
||||
bool modify_mtime = true;
|
||||
struct file_id id;
|
||||
struct smb_filename *smb_fname_tmp = NULL;
|
||||
SMB_STRUCT_STAT sbuf;
|
||||
|
||||
ZERO_STRUCT(ft);
|
||||
@ -6851,7 +6852,6 @@ static NTSTATUS smb_set_file_unix_basic(connection_struct *conn,
|
||||
sbuf = smb_fname->st;
|
||||
|
||||
if (!VALID_STAT(sbuf)) {
|
||||
struct smb_filename *smb_fname_tmp = NULL;
|
||||
/*
|
||||
* The only valid use of this is to create character and block
|
||||
* devices, and named pipes. This is deprecated (IMHO) and
|
||||
@ -6880,7 +6880,7 @@ static NTSTATUS smb_set_file_unix_basic(connection_struct *conn,
|
||||
}
|
||||
|
||||
sbuf = smb_fname_tmp->st;
|
||||
TALLOC_FREE(smb_fname_tmp);
|
||||
smb_fname = smb_fname_tmp;
|
||||
|
||||
/* Ensure we don't try and change anything else. */
|
||||
raw_unixmode = SMB_MODE_NO_CHANGE;
|
||||
|
Loading…
Reference in New Issue
Block a user