summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/common/ldb_ldif.c
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2005-08-30 00:43:26 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:34:59 -0500
commitc0293aa7159c8b5c9f1a1b13f64af08e5a55ad6a (patch)
treee0169e5c93e4d7aaca99124b95dfb02ff250b207 /source4/lib/ldb/common/ldb_ldif.c
parent7be4cf8c1ded42daf7e86ecd2c0dbfeeed312b22 (diff)
downloadsamba-c0293aa7159c8b5c9f1a1b13f64af08e5a55ad6a.tar.gz
samba-c0293aa7159c8b5c9f1a1b13f64af08e5a55ad6a.tar.bz2
samba-c0293aa7159c8b5c9f1a1b13f64af08e5a55ad6a.zip
r9771: - Prevent ldb crash when a invalid DN is added
- Don't silently drop records with empty attributes tridge/simo: Could you please verify this patch is correct? (This used to be commit 505c9b1d3d39475da141d3b3c156a7e5ba06790c)
Diffstat (limited to 'source4/lib/ldb/common/ldb_ldif.c')
-rw-r--r--source4/lib/ldb/common/ldb_ldif.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/source4/lib/ldb/common/ldb_ldif.c b/source4/lib/ldb/common/ldb_ldif.c
index 38866d7031..a5768b9796 100644
--- a/source4/lib/ldb/common/ldb_ldif.c
+++ b/source4/lib/ldb/common/ldb_ldif.c
@@ -590,6 +590,12 @@ struct ldb_ldif *ldb_ldif_read(struct ldb_context *ldb,
msg->dn = ldb_dn_explode(msg, value.data);
+ if (msg->dn == NULL) {
+ ldb_debug(ldb, LDB_DEBUG_ERROR, "Error: Unable to parse dn '%s'\n",
+ value.data);
+ goto failed;
+ }
+
while (next_attr(ldif, &s, &attr, &value) == 0) {
const struct ldb_attrib_handler *h;
struct ldb_message_element *el;