diff options
Diffstat (limited to 'source3/smbd/reply.c')
-rw-r--r-- | source3/smbd/reply.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 78dad6f02f..0d5f016613 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -3495,7 +3495,14 @@ dev = %x, inode = %x\n", /* if this is a pure oplock break request then don't send a reply */ if (num_locks == 0 && num_ulocks == 0) - return -1; + { + /* Sanity check - ensure a pure oplock break is not a + chained request. */ + if(CVAL(inbuf,smb_vwv0) != 0xff) + DEBUG(0,("reply_lockingX: Error : pure oplock break is a chained %d request !\n", + (unsigned int)CVAL(inbuf,smb_vwv0) )); + return -1; + } } /* Data now points at the beginning of the list |