SQ fsrvp: fix commit_sc_with_conn_done error path
authorDavid Disseldorp <ddiss@samba.org>
Sun, 14 Oct 2012 17:57:10 +0000 (19:57 +0200)
committerDavid Disseldorp <ddiss@samba.org>
Mon, 15 Apr 2013 16:15:21 +0000 (18:15 +0200)
source3/rpc_server/fss/srv_fss_agent.c

index 25f45a01c7c000df3b0ec2a55cd90f3cceaad6de..e12412ec82552867a368cf5ffad9c27b86871b63 100644 (file)
@@ -613,18 +613,18 @@ static void commit_sc_with_conn_done(struct tevent_req *subreq)
                                    sc_commit_state->session_info)) {
                DEBUG(0, ("failed to become user\n"));
                tevent_req_nterror(req, NT_STATUS_ACCESS_DENIED);
-               tevent_req_done(req);
                return;
        }
        status = SMB_VFS_SNAP_CREATE_RECV(sc_commit_state->conn, subreq,
                                          sc_commit_state,
                                          &sc_commit_state->base_path,
                                          &sc_commit_state->snap_path);
+       unbecome_user();
+       fss_vfs_conn_destroy(sc_commit_state->conn);
        if (tevent_req_nterror(req, status)) {
                DEBUG(0, ("snap create failed: %s\n", nt_errstr(status)));
+               return;
        }
-       unbecome_user();
-       fss_vfs_conn_destroy(sc_commit_state->conn);
        tevent_req_done(req);
 }