vfs: Consolidate failure paths in vfswrap_init_asys_ctx
authorVolker Lendecke <vl@samba.org>
Thu, 16 Jul 2015 13:01:09 +0000 (15:01 +0200)
committerJeremy Allison <jra@samba.org>
Thu, 16 Jul 2015 23:35:33 +0000 (01:35 +0200)
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Fri Jul 17 01:35:33 CEST 2015 on sn-devel-104

source3/modules/vfs_default.c

index 1c29cb4c79df40a9161fc5bddb186671e2900042..490c4ab20396f4d7132411e269728856979ca07a 100644 (file)
@@ -707,9 +707,7 @@ static bool vfswrap_init_asys_ctx(struct smbd_server_connection *conn)
        ret = set_blocking(fd, false);
        if (ret != 0) {
                DBG_WARNING("set_blocking failed: %s\n", strerror(ret));
-               asys_context_destroy(conn->asys_ctx);
-               conn->asys_ctx = NULL;
-               return false;
+               goto fail;
        }
 
        conn->asys_fde = tevent_add_fd(conn->ev_ctx, conn, fd,
@@ -718,11 +716,14 @@ static bool vfswrap_init_asys_ctx(struct smbd_server_connection *conn)
                                       conn->asys_ctx);
        if (conn->asys_fde == NULL) {
                DEBUG(1, ("tevent_add_fd failed\n"));
-               asys_context_destroy(conn->asys_ctx);
-               conn->asys_ctx = NULL;
-               return false;
+               goto fail;
        }
        return true;
+
+fail:
+       asys_context_destroy(conn->asys_ctx);
+       conn->asys_ctx = NULL;
+       return false;
 }
 
 struct vfswrap_asys_state {