smbreq = smbd_smb2_fake_smb_request(smb2req);
if (tevent_req_nomem(smbreq, req)) {
- goto out;
+ return tevent_req_post(req, ev);
}
if (IS_IPC(smbreq->conn)) {
if (!lp_nt_pipe_support()) {
tevent_req_nterror(req, NT_STATUS_ACCESS_DENIED);
- goto out;
+ return tevent_req_post(req, ev);
}
/* Strip \\ off the name. */
status = open_np_file(smbreq, pipe_name, &result);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
- goto out;
+ return tevent_req_post(req, ev);
}
info = FILE_WAS_OPENED;
ZERO_STRUCT(sbuf);
status = file_new(smbreq, smbreq->conn, &result);
if(!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
- goto out;
+ return tevent_req_post(req, ev);
}
status = print_fsp_open(smbreq,
if (!NT_STATUS_IS_OK(status)) {
file_free(smbreq, result);
tevent_req_nterror(req, status);
- goto out;
+ return tevent_req_post(req, ev);
}
info = FILE_WAS_CREATED;
} else {
status = check_path_syntax(in_name);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
- TALLOC_FREE(smb_fname);
- goto out;
+ return tevent_req_post(req, ev);
}
- status = filename_convert(talloc_tos(),
- smbreq->conn,
- smbreq->flags2 & FLAGS2_DFS_PATHNAMES,
- in_name,
- 0,
- NULL,
- &smb_fname);
+ status = filename_convert(req,
+ smbreq->conn,
+ smbreq->flags2 & FLAGS2_DFS_PATHNAMES,
+ in_name,
+ 0,
+ NULL,
+ &smb_fname);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
- TALLOC_FREE(smb_fname);
- goto out;
+ return tevent_req_post(req, ev);
}
status = SMB_VFS_CREATE_FILE(smbreq->conn,
&info);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
- TALLOC_FREE(smb_fname);
- goto out;
+ return tevent_req_post(req, ev);
}
sbuf = smb_fname->st;
- TALLOC_FREE(smb_fname);
}
smb2req->compat_chain_fsp = smbreq->chain_fsp;
state->out_file_id_volatile = result->fnum;
tevent_req_done(req);
- out:
return tevent_req_post(req, ev);
}