summaryrefslogtreecommitdiff
path: root/lib/ldb
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2011-07-13 12:24:25 +1000
committerAndrew Tridgell <tridge@samba.org>2011-07-13 12:51:05 +0200
commit58e89443e2e1722dec85ec426a63449b53b19ea3 (patch)
tree2419230fbd9e3240a46580d288246b80a5f481f7 /lib/ldb
parenteb7c2af83bbebd9e32fdfd459cfef7db15918911 (diff)
downloadsamba-58e89443e2e1722dec85ec426a63449b53b19ea3.tar.gz
samba-58e89443e2e1722dec85ec426a63449b53b19ea3.tar.bz2
samba-58e89443e2e1722dec85ec426a63449b53b19ea3.zip
ldb: don't shortcut dn comparison for mismatched special DNs
DNs that start with @ can't be compared via string comparison with normal DNs Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'lib/ldb')
-rw-r--r--lib/ldb/common/ldb_dn.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/ldb/common/ldb_dn.c b/lib/ldb/common/ldb_dn.c
index cd9055da92..6b1ef0306f 100644
--- a/lib/ldb/common/ldb_dn.c
+++ b/lib/ldb/common/ldb_dn.c
@@ -1034,7 +1034,7 @@ int ldb_dn_compare_base(struct ldb_dn *base, struct ldb_dn *dn)
if ( ! dn || dn->invalid) return -1;
if (( ! base->valid_case) || ( ! dn->valid_case)) {
- if (base->linearized && dn->linearized) {
+ if (base->linearized && dn->linearized && dn->special == base->special) {
/* try with a normal compare first, if we are lucky
* we will avoid exploding and casfolding */
int dif;