diff options
author | Andrew Tridgell <tridge@samba.org> | 2011-07-13 12:24:25 +1000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2011-07-13 12:51:05 +0200 |
commit | 58e89443e2e1722dec85ec426a63449b53b19ea3 (patch) | |
tree | 2419230fbd9e3240a46580d288246b80a5f481f7 /lib/ldb/common | |
parent | eb7c2af83bbebd9e32fdfd459cfef7db15918911 (diff) | |
download | samba-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/common')
-rw-r--r-- | lib/ldb/common/ldb_dn.c | 2 |
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; |