summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/lib/ldb/common/ldb_dn.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/source4/lib/ldb/common/ldb_dn.c b/source4/lib/ldb/common/ldb_dn.c
index 204dd3b462..a52569119f 100644
--- a/source4/lib/ldb/common/ldb_dn.c
+++ b/source4/lib/ldb/common/ldb_dn.c
@@ -674,6 +674,7 @@ static struct ldb_dn_component ldb_dn_copy_component(void *mem_ctx, struct ldb_d
dst.name = talloc_strdup(mem_ctx, src->name);
if (dst.name == NULL) {
talloc_free(dst.value.data);
+ dst.value.data = NULL;
}
return dst;
@@ -826,6 +827,9 @@ struct ldb_dn *ldb_dn_compose(void *mem_ctx, const struct ldb_dn *dn1, const str
for (i = 0; i < dn1->comp_num; i++) {
newdn->components[i] = ldb_dn_copy_component(newdn->components,
&(dn1->components[i]));
+ if (newdn->components[i].value.data == NULL) {
+ goto failed;
+ }
}
return newdn;