change CHECK_READ to use smb_request instead of inbuf
authorVolker Lendecke <vl@samba.org>
Thu, 6 Nov 2008 19:16:04 +0000 (20:16 +0100)
committerVolker Lendecke <vl@samba.org>
Sat, 8 Nov 2008 09:42:28 +0000 (10:42 +0100)
source3/include/smb_macros.h
source3/smbd/reply.c

index 46ca2365533967c72ced88901b91ea5394dffa9e..119ceeb158c28779264f4c9f04a53f2facb36f17 100644 (file)
@@ -52,8 +52,8 @@
                                return ERROR_NT(NT_STATUS_INVALID_HANDLE); \
                        } while(0)
 
-#define CHECK_READ(fsp,inbuf) (((fsp)->fh->fd != -1) && ((fsp)->can_read || \
-                       ((SVAL((inbuf),smb_flg2) & FLAGS2_READ_PERMIT_EXECUTE) && \
+#define CHECK_READ(fsp,req) (((fsp)->fh->fd != -1) && ((fsp)->can_read || \
+                       ((req->flags2 & FLAGS2_READ_PERMIT_EXECUTE) && \
                         (fsp->access_mask & FILE_EXECUTE))))
 
 #define CHECK_WRITE(fsp) ((fsp)->can_write && ((fsp)->fh->fd != -1))
index 377ba4e530e33883d1d14235b2c5aac6a2904fa0..be39fd464d9a95ca305e0e58eb032043cd62e30b 100644 (file)
@@ -2894,7 +2894,7 @@ void reply_lockread(struct smb_request *req)
                return;
        }
 
-       if (!CHECK_READ(fsp,req->inbuf)) {
+       if (!CHECK_READ(fsp,req)) {
                reply_doserror(req, ERRDOS, ERRbadaccess);
                END_PROFILE(SMBlockread);
                return;
@@ -3002,7 +3002,7 @@ void reply_read(struct smb_request *req)
                return;
        }
 
-       if (!CHECK_READ(fsp,req->inbuf)) {
+       if (!CHECK_READ(fsp,req)) {
                reply_doserror(req, ERRDOS, ERRbadaccess);
                END_PROFILE(SMBread);
                return;
@@ -3255,7 +3255,7 @@ void reply_read_and_X(struct smb_request *req)
                return;
        }
 
-       if (!CHECK_READ(fsp,req->inbuf)) {
+       if (!CHECK_READ(fsp,req)) {
                reply_doserror(req, ERRDOS,ERRbadaccess);
                END_PROFILE(SMBreadX);
                return;