s4:ldb Allow ldb_msg_canonicalize to handle empty elements
authorAndrew Bartlett <abartlet@samba.org>
Wed, 11 Nov 2009 08:26:28 +0000 (19:26 +1100)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 11 Nov 2009 21:11:22 +0000 (08:11 +1100)
(These are deliberately there in DRS replication).

Andrew Bartlett

source4/lib/ldb/common/ldb_msg.c

index a040043f87a6383ea59b74a1caa0ee23d22d4a2b..161a6b1f38334ce80e44bda0baa0784cb2261191 100644 (file)
@@ -526,7 +526,7 @@ struct ldb_message *ldb_msg_canonicalize(struct ldb_context *ldb,
                if (ldb_msg_element_compare_name(el1, el2) == 0) {
                        el1->values = talloc_realloc(msg2->elements, el1->values, struct ldb_val, 
                                                       el1->num_values + el2->num_values);
-                       if (el1->values == NULL) {
+                       if (el1->num_values + el2->num_values > 0 && el1->values == NULL) {
                                return NULL;
                        }
                        memcpy(el1->values + el1->num_values,