1
0
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:
Jeremy Allison 2010-08-26 16:46:45 -07:00
parent 338184fb3a
commit 5115f789c0

View File

@ -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;