diff options
author | Volker Lendecke <vl@samba.org> | 2008-02-22 16:17:10 +0100 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2008-02-22 17:15:09 +0100 |
commit | 14aa57a9e3368fed5b8b7d1ac0f6e94b9b1ac20e (patch) | |
tree | 7507c3d4204a983e6f61d25d75507e0b50b8d739 /source3/smbd/trans2.c | |
parent | 0f0998a06b3444fab45942563079c445f50ec955 (diff) | |
download | samba-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.c | 4 |
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); |