diff options
author | Jeremy Allison <jra@samba.org> | 2004-05-05 01:06:23 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2004-05-05 01:06:23 +0000 |
commit | f321d15573a1154b1527092fdcb2f3f8a3005b11 (patch) | |
tree | dfd3aec44c409a431cbf652117054964f7f383ea /source | |
parent | 0bad645c8c4d8d52ef4f9aa5401dfc828fbbd32e (diff) | |
download | samba-f321d15573a1154b1527092fdcb2f3f8a3005b11.tar.gz samba-f321d15573a1154b1527092fdcb2f3f8a3005b11.tar.xz samba-f321d15573a1154b1527092fdcb2f3f8a3005b11.zip |
r481: Fix up assert caught by check_path_syntax.
Jeremy.
Diffstat (limited to 'source')
-rw-r--r-- | source/smbd/nttrans.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/source/smbd/nttrans.c b/source/smbd/nttrans.c index e4ffec339b7..7e4cac7b385 100644 --- a/source/smbd/nttrans.c +++ b/source/smbd/nttrans.c @@ -643,6 +643,7 @@ create_options = 0x%x root_dir_fid = 0x%x\n", flags, desired_access, file_attrib /* * This filename is relative to a directory fid. */ + pstring rel_fname; files_struct *dir_fsp = file_fsp(inbuf,smb_ntcreate_RootDirectoryFid); size_t dir_name_len; @@ -695,11 +696,12 @@ create_options = 0x%x root_dir_fid = 0x%x\n", flags, desired_access, file_attrib dir_name_len++; } - srvstr_get_path(inbuf, &fname[dir_name_len], smb_buf(inbuf), sizeof(fname)-dir_name_len, 0, STR_TERMINATE, &status); + srvstr_get_path(inbuf, rel_fname, smb_buf(inbuf), sizeof(rel_fname), 0, STR_TERMINATE, &status); if (!NT_STATUS_IS_OK(status)) { END_PROFILE(SMBntcreateX); return ERROR_NT(status); } + pstrcat(fname, rel_fname); } else { srvstr_get_path(inbuf, fname, smb_buf(inbuf), sizeof(fname), 0, STR_TERMINATE, &status); if (!NT_STATUS_IS_OK(status)) { @@ -1207,7 +1209,6 @@ static int call_nt_transact_create(connection_struct *conn, char *inbuf, char *o /* * This filename is relative to a directory fid. */ - files_struct *dir_fsp = file_fsp(params,4); size_t dir_name_len; |