summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/dsdb/common/util.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/source4/dsdb/common/util.c b/source4/dsdb/common/util.c
index 134d428461..cc75f7fdc9 100644
--- a/source4/dsdb/common/util.c
+++ b/source4/dsdb/common/util.c
@@ -1452,12 +1452,18 @@ struct ldb_dn *samdb_server_dn(struct ldb_context *ldb, TALLOC_CTX *mem_ctx)
struct ldb_dn *samdb_server_site_dn(struct ldb_context *ldb, TALLOC_CTX *mem_ctx)
{
struct ldb_dn *server_dn;
+ struct ldb_dn *servers_dn;
struct ldb_dn *server_site_dn;
+ /* TODO: there must be a saner way to do this!! */
+
server_dn = samdb_server_dn(ldb, mem_ctx);
if (!server_dn) return NULL;
- server_site_dn = ldb_dn_get_parent(mem_ctx, server_dn);
+ servers_dn = ldb_dn_get_parent(mem_ctx, server_dn);
+ if (!servers_dn) return NULL;
+
+ server_site_dn = ldb_dn_get_parent(mem_ctx, servers_dn);
talloc_free(server_dn);
return server_site_dn;