diff options
| author | Volker Lendecke <vl@samba.org> | 2014-06-20 14:15:54 +0000 |
|---|---|---|
| committer | Volker Lendecke <vl@samba.org> | 2014-06-21 20:38:11 +0200 |
| commit | 713518a4c85172973611cf99b77ba4fe631fb850 (patch) | |
| tree | 131d719a29bb631cfc2c1e45cde24ac954b76390 | |
| parent | 0c2e763aaa05f63bb8563e62f9731e35afa9ed86 (diff) | |
| download | samba-713518a4c85172973611cf99b77ba4fe631fb850.tar.gz samba-713518a4c85172973611cf99b77ba4fe631fb850.tar.xz samba-713518a4c85172973611cf99b77ba4fe631fb850.zip | |
smbd: Fix bug 10593
Bug 10593 is a panic that happens if we get an oplock break reply via
dbwrap_watch for which we can't find the SMB request anymore. This
error condition can legally happen when a client cancels the create
request before the oplock break response comes in. This patch drops the
dbwrap_watch_send request waiting for the oplock break when the request
is cancelled. Yet another talloc hierarchy problem, but if done right,
talloc hierarchies can make rundown of state easy :-)
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
| -rw-r--r-- | source3/smbd/open.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source3/smbd/open.c b/source3/smbd/open.c index 9cbc046760..b913c9c576 100644 --- a/source3/smbd/open.c +++ b/source3/smbd/open.c @@ -1585,7 +1585,7 @@ static void defer_open(struct share_mode_lock *lck, struct tevent_req *watch_req; bool ret; - watch_state = talloc(req->sconn, struct defer_open_state); + watch_state = talloc(open_rec, struct defer_open_state); if (watch_state == NULL) { exit_server("talloc failed"); } |
