summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKamen Mazdrashki <kamenim@samba.org>2014-11-12 01:12:31 +0100
committerAndrew Bartlett <abartlet@samba.org>2014-11-25 05:04:07 +0100
commit7f121d3860ee3289f5fd397ab3312634d11cb2f2 (patch)
tree3eb9055f025cdf76c49bc7e44cae2f759b39d3be
parentea7778697e22ffbe22634974144c6e5c142a85d6 (diff)
downloadsamba-7f121d3860ee3289f5fd397ab3312634d11cb2f2.tar.gz
samba-7f121d3860ee3289f5fd397ab3312634d11cb2f2.tar.xz
samba-7f121d3860ee3289f5fd397ab3312634d11cb2f2.zip
lib-ldb_ldif: Stop processing if ldb_message element name is NULL
I have hit this while using Python bindings for testing and forgot to pass 'name' argument to MessageElement constructor Passing NULL as 'name' is obviously a mistake and this commits aims to warn about such unintetional mistakes. Signed-off-by: Kamen Mazdrashki <kamenim@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
-rw-r--r--lib/ldb/common/ldb_ldif.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/ldb/common/ldb_ldif.c b/lib/ldb/common/ldb_ldif.c
index a2e448846a..f9743dca8b 100644
--- a/lib/ldb/common/ldb_ldif.c
+++ b/lib/ldb/common/ldb_ldif.c
@@ -312,6 +312,13 @@ static int ldb_ldif_write_trace(struct ldb_context *ldb,
for (i=0;i<msg->num_elements;i++) {
const struct ldb_schema_attribute *a;
+ if (msg->elements[i].name == NULL) {
+ ldb_debug(ldb, LDB_DEBUG_ERROR,
+ "Error: Invalid element name (NULL) at position %d", i);
+ talloc_free(mem_ctx);
+ return -1;
+ }
+
a = ldb_schema_attribute_by_name(ldb, msg->elements[i].name);
if (ldif->changetype == LDB_CHANGETYPE_MODIFY) {