summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>1998-01-11 23:30:32 +0000
committerAndrew Tridgell <tridge@samba.org>1998-01-11 23:30:32 +0000
commita6471daa2fe5b2b45914f4a82bc4a8b84b2c6da0 (patch)
tree5ab75cc54be5b2eb00fbde861be5ecc31e315248 /source
parent45bb4e6d444b3415effe922a424adb418cd8362d (diff)
downloadsamba-a6471daa2fe5b2b45914f4a82bc4a8b84b2c6da0.tar.gz
samba-a6471daa2fe5b2b45914f4a82bc4a8b84b2c6da0.tar.xz
samba-a6471daa2fe5b2b45914f4a82bc4a8b84b2c6da0.zip
(fixed in 1.9.18 as well)
fixed an oplock bug. inbuf and outbuf must not be declared static as otherwise they can become corrupt during a recursive oplock break. logs from PR#3005 show that we are indeed getting recursive oplock breaks (yuck!) I'm not totally sure that this is the only oplock bug left as I don't quite see how it fully explains the logs. We'll know when he tries the patch.
Diffstat (limited to 'source')
-rw-r--r--source/smbd/server.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/source/smbd/server.c b/source/smbd/server.c
index 29a0d462f3d..b7ac241ff41 100644
--- a/source/smbd/server.c
+++ b/source/smbd/server.c
@@ -2799,8 +2799,8 @@ pid %d, port %d, dev = %x, inode = %x\n", remotepid, from_port, dev, inode));
BOOL oplock_break(uint32 dev, uint32 inode, struct timeval *tval)
{
extern int Client;
- static char *inbuf = NULL;
- static char *outbuf = NULL;
+ char *inbuf = NULL;
+ char *outbuf = NULL;
files_struct *fsp = NULL;
int fnum;
time_t start_time;