Revert "Length comparison of the linearized version is not correct."
authorSimo Sorce <idra@samba.org>
Thu, 30 Oct 2008 12:28:07 +0000 (08:28 -0400)
committerSimo Sorce <idra@samba.org>
Thu, 30 Oct 2008 12:28:07 +0000 (08:28 -0400)
This reverts commit 753af36a3e194f645ec0b68a033199035e71c909.

source4/lib/ldb/common/ldb_dn.c

index 5e6fb96457f0a3364a05f2e3e1962113cfdeb14d..e36aea4e697fd8b2dddf5bdfdcaad64d18aa7c2a 100644 (file)
@@ -749,6 +749,9 @@ int ldb_dn_compare_base(struct ldb_dn *base, struct ldb_dn *dn)
                if (base->linearized && dn->linearized) {
                        /* try with a normal compare first, if we are lucky
                         * we will avoid exploding and casfolding */
+                       int dif;
+                       dif = strlen(dn->linearized) - strlen(base->linearized);
+                       if (dif < 0) return dif;
                        if (strcmp(base->linearized, &dn->linearized[dif]) == 0) return 0;
                }