From: Volker Lendecke Date: Sun, 2 Nov 2008 21:20:48 +0000 (+0100) Subject: Remove the inbuf reference from map_checkpath_error() X-Git-Tag: samba-4.0.0alpha6~522^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=792324bf5a2bb29144c5ef6525d7d84f4934c93d;p=thirdparty%2Fsamba.git Remove the inbuf reference from map_checkpath_error() --- diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 2aa3c1b8412..d88069c9df6 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -821,10 +821,10 @@ void reply_ioctl(struct smb_request *req) Strange checkpath NTSTATUS mapping. ****************************************************************************/ -static NTSTATUS map_checkpath_error(const char *inbuf, NTSTATUS status) +static NTSTATUS map_checkpath_error(uint16_t flags2, NTSTATUS status) { /* Strange DOS error code semantics only for checkpath... */ - if (!(SVAL(inbuf,smb_flg2) & FLAGS2_32_BIT_ERROR_CODES)) { + if (!(flags2 & FLAGS2_32_BIT_ERROR_CODES)) { if (NT_STATUS_EQUAL(NT_STATUS_OBJECT_NAME_INVALID,status)) { /* We need to map to ERRbadpath */ return NT_STATUS_OBJECT_PATH_NOT_FOUND; @@ -851,7 +851,7 @@ void reply_checkpath(struct smb_request *req) STR_TERMINATE, &status); if (!NT_STATUS_IS_OK(status)) { - status = map_checkpath_error((char *)req->inbuf, status); + status = map_checkpath_error(req->flags2, status); reply_nterror(req, status); END_PROFILE(SMBcheckpath); return; @@ -911,7 +911,7 @@ void reply_checkpath(struct smb_request *req) one at a time - if a component fails it expects ERRbadpath, not ERRbadfile. */ - status = map_checkpath_error((char *)req->inbuf, status); + status = map_checkpath_error(req->flags2, status); if (NT_STATUS_EQUAL(status, NT_STATUS_OBJECT_NAME_NOT_FOUND)) { /* * Windows returns different error codes if