diff --git a/source/smbd/conn.c b/source/smbd/conn.c index 1dc4ac9e7d9..f43a30d320a 100644 --- a/source/smbd/conn.c +++ b/source/smbd/conn.c @@ -164,15 +164,13 @@ free a conn structure ****************************************************************************/ void conn_free(connection_struct *conn) { - /* Close dlopen() handle */ - - if (conn->vfs_conn->dl_handle != NULL) { - dlclose(conn->vfs_conn->dl_handle); /* should we check return val? */ - } - /* Free vfs_connection_struct */ if (conn->vfs_conn != NULL) { + /* Close dlopen() handle */ + if (conn->vfs_conn->dl_handle) { + dlclose(conn->vfs_conn->dl_handle); + } if (conn->vfs_conn->groups != NULL) { free(conn->vfs_conn->groups); }