diff --git a/source3/smbd/open.c b/source3/smbd/open.c index b67c045e340..a06a9f25207 100644 --- a/source3/smbd/open.c +++ b/source3/smbd/open.c @@ -1464,6 +1464,7 @@ static void defer_open(struct share_mode_lock *lck, DEBUG(0, ("Trying to defer an already deferred " "request: mid=%llu, exiting\n", (unsigned long long)req->mid)); + TALLOC_FREE(lck); exit_server("attempt to defer a deferred request"); } } @@ -1479,6 +1480,7 @@ static void defer_open(struct share_mode_lock *lck, if (!push_deferred_open_message_smb(req, request_time, timeout, state->id, (char *)state, sizeof(*state))) { + TALLOC_FREE(lck); exit_server("push_deferred_open_message_smb failed"); } if (lck) {