summaryrefslogtreecommitdiff
path: root/source3/smbd/trans2.c
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2008-02-22 16:17:10 +0100
committerVolker Lendecke <vl@samba.org>2008-02-22 17:15:09 +0100
commit14aa57a9e3368fed5b8b7d1ac0f6e94b9b1ac20e (patch)
tree7507c3d4204a983e6f61d25d75507e0b50b8d739 /source3/smbd/trans2.c
parent0f0998a06b3444fab45942563079c445f50ec955 (diff)
downloadsamba-14aa57a9e3368fed5b8b7d1ac0f6e94b9b1ac20e.tar.gz
samba-14aa57a9e3368fed5b8b7d1ac0f6e94b9b1ac20e.tar.bz2
samba-14aa57a9e3368fed5b8b7d1ac0f6e94b9b1ac20e.zip
Don't use fname after create_file has been called
create_file calls unix_convert internally, so modifies fname. So we can't use "fname" after create_file has returned. Use fsp->fsp_name instead. Found during a lengthy debugging session with Karolin testing the xattr_tdb module... (This used to be commit 183fe570469963923864b732817a87f8660341ed)
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 1f7af82670..dc908846b3 100644
--- a/source3/smbd/trans2.c
+++ b/source3/smbd/trans2.c
@@ -1017,7 +1017,7 @@ static void call_trans2open(connection_struct *conn,
}
size = get_file_size(sbuf);
- fattr = dos_mode(conn,fname,&sbuf);
+ fattr = dos_mode(conn,fsp->fsp_name,&sbuf);
mtime = sbuf.st_mtime;
inode = sbuf.st_ino;
if (fattr & aDIR) {
@@ -1054,7 +1054,7 @@ static void call_trans2open(connection_struct *conn,
SIVAL(params,20,inode);
SSVAL(params,24,0); /* Padding. */
if (flags & 8) {
- uint32 ea_size = estimate_ea_size(conn, fsp, fname);
+ uint32 ea_size = estimate_ea_size(conn, fsp, fsp->fsp_name);
SIVAL(params, 26, ea_size);
} else {
SIVAL(params, 26, 0);