Fix bug #9196 - defer_open is triggered multiple times on the same request.
[metze/samba/wip.git] / source3 / smbd / smb2_create.c
index 812d9db1c0589af9e360c04a663e942f0117680b..21f25494c70ac429a941379ad501b06bde39c533 100644 (file)
@@ -1133,9 +1133,6 @@ bool get_deferred_open_message_state_smb2(struct smbd_smb2_request *smb2req,
        if (!smb2req) {
                return false;
        }
-       if (smb2req->async_te == NULL) {
-               return false;
-       }
        req = smb2req->subreq;
        if (!req) {
                return false;
@@ -1144,6 +1141,9 @@ bool get_deferred_open_message_state_smb2(struct smbd_smb2_request *smb2req,
        if (!state) {
                return false;
        }
+       if (!state->open_was_deferred) {
+               return false;
+       }
        if (p_request_time) {
                *p_request_time = state->request_time;
        }