diff options
author | Kamen Mazdrashki <kamenim@samba.org> | 2014-11-12 01:12:31 +0100 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2014-11-25 05:04:07 +0100 |
commit | 7f121d3860ee3289f5fd397ab3312634d11cb2f2 (patch) | |
tree | 3eb9055f025cdf76c49bc7e44cae2f759b39d3be | |
parent | ea7778697e22ffbe22634974144c6e5c142a85d6 (diff) | |
download | samba-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.c | 7 |
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) { |