summaryrefslogtreecommitdiffstats
path: root/source3/smbd/trans2.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2010-08-26 16:46:45 -0700
committerJeremy Allison <jra@samba.org>2010-08-26 16:46:45 -0700
commit5115f789c007a155e34505852d847b99b7f4c886 (patch)
treeca19e4287fff380c568e3ae43b98e23aa7199a9e /source3/smbd/trans2.c
parent338184fb3a3869f81ead82dcc477c87d858334d3 (diff)
downloadsamba-5115f789c007a155e34505852d847b99b7f4c886.tar.gz
samba-5115f789c007a155e34505852d847b99b7f4c886.tar.xz
samba-5115f789c007a155e34505852d847b99b7f4c886.zip
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.
Diffstat (limited to 'source3/smbd/trans2.c')
-rw-r--r--source3/smbd/trans2.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c
index 24d66a61879..4ecf08a479e 100644
--- a/source3/smbd/trans2.c
+++ b/source3/smbd/trans2.c
@@ -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;