r20373: When adding a base to a "" DN, don't precede it with a comma (,)
authorAndrew Bartlett <abartlet@samba.org>
Thu, 28 Dec 2006 03:31:18 +0000 (03:31 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:30:18 +0000 (14:30 -0500)
Andrew Bartlett
(This used to be commit ef1ca30180b1b225579a8200b65a4853a135602f)

source4/lib/ldb/common/ldb_dn.c

index dc440ef3de54e679f0dfb717909901519e271bf8..0649626d61a5639144d2fd24eda518316cb030fd 100644 (file)
@@ -988,7 +988,11 @@ bool ldb_dn_add_base(struct ldb_dn *dn, struct ldb_dn *base)
                }
 
                if (dn->casefold && s) {
-                       t = talloc_asprintf(dn, "%s,%s", dn->casefold, s);
+                       if (*dn->casefold) {
+                               t = talloc_asprintf(dn, "%s,%s", dn->casefold, s);
+                       } else {
+                               t = talloc_strdup(dn, s);
+                       }
                        LDB_FREE(dn->casefold);
                        dn->casefold = t;
                }
@@ -1001,7 +1005,11 @@ bool ldb_dn_add_base(struct ldb_dn *dn, struct ldb_dn *base)
                        return false;
                }
                
-               t = talloc_asprintf(dn, "%s,%s", dn->linearized, s);
+               if (*dn->linearized) {
+                       t = talloc_asprintf(dn, "%s,%s", dn->linearized, s);
+               } else {
+                       t = talloc_strdup(dn, s);
+               }
                if ( ! t) {
                        dn->invalid = true;
                        return false;