summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2013-06-05 20:44:17 +1000
committerStefan Metzmacher <metze@samba.org>2013-06-11 09:50:05 +0200
commit5263f0a626dac3ac1fc48ece2324438279f187f0 (patch)
tree8841d28c8ec6b104da10db06c76bc1dedbf2dd09
parent424a990e34278fae4888b00affb530ed1fbcb354 (diff)
downloadsamba-5263f0a626dac3ac1fc48ece2324438279f187f0.tar.gz
samba-5263f0a626dac3ac1fc48ece2324438279f187f0.tar.bz2
samba-5263f0a626dac3ac1fc48ece2324438279f187f0.zip
Revert "s4-dsdb: Remove strcasecmp() fallback in replmd_ldb_message_element_attid_sort"
This reverts commit d799b25dd3ed0f72ee03949225ba241c5538d7d6. Sometimes the schema just isn't right. A segfault is not the correct answer in those cases. Andrew Bartlett Reviewed-by: Stefan Metzmacher <metze@samba.org>
-rw-r--r--source4/dsdb/samdb/ldb_modules/repl_meta_data.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/repl_meta_data.c b/source4/dsdb/samdb/ldb_modules/repl_meta_data.c
index 98e60d7a8b..24dcc6f04d 100644
--- a/source4/dsdb/samdb/ldb_modules/repl_meta_data.c
+++ b/source4/dsdb/samdb/ldb_modules/repl_meta_data.c
@@ -663,6 +663,13 @@ static int replmd_ldb_message_element_attid_sort(const struct ldb_message_elemen
a1 = dsdb_attribute_by_lDAPDisplayName(schema, e1->name);
a2 = dsdb_attribute_by_lDAPDisplayName(schema, e2->name);
+ /*
+ * TODO: remove this check, we should rely on e1 and e2 having valid attribute names
+ * in the schema
+ */
+ if (!a1 || !a2) {
+ return strcasecmp(e1->name, e2->name);
+ }
if (a1->attributeID_id == a2->attributeID_id) {
return 0;
}