From 3009178ee5fc054c284568768d5acdf0208a25f4 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Mon, 27 Sep 2010 04:46:18 +0200 Subject: s3: Slightly simplify file_fnum req==NULL should never happen, see the comment --- source3/smbd/files.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'source3') diff --git a/source3/smbd/files.c b/source3/smbd/files.c index ef0da8f1e4..3695b50d05 100644 --- a/source3/smbd/files.c +++ b/source3/smbd/files.c @@ -513,12 +513,25 @@ files_struct *file_fsp(struct smb_request *req, uint16 fid) { files_struct *fsp; - if ((req != NULL) && (req->chain_fsp != NULL)) { + if (req == NULL) { + /* + * We should never get here. req==NULL could in theory + * only happen from internal opens with a non-zero + * root_dir_fid. Internal opens just don't do that, at + * least they are not supposed to do so. And if they + * start to do so, they better fake up a smb_request + * from which we get the right smbd_server_conn. While + * this should never happen, let's return NULL here. + */ + return NULL; + } + + if (req->chain_fsp != NULL) { return req->chain_fsp; } fsp = file_fnum(smbd_server_conn, fid); - if ((fsp != NULL) && (req != NULL)) { + if (fsp != NULL) { req->chain_fsp = fsp; } return fsp; -- cgit