s4:ldb Fix talloc hirarchy in LDIF parsing code
[metze/samba/wip.git] / source4 / lib / ldb / common / ldb_ldif.c
index 400fb352ff4aba05ef06d976f4034b81cf8e9a10..d64a9f1c3a813e07c584c854a99fc19b0cc4d50e 100644 (file)
@@ -632,7 +632,7 @@ struct ldb_ldif *ldb_ldif_read(struct ldb_context *ldb,
                        if (!el->values) {
                                goto failed;
                        }
-                       ret = a->syntax->ldif_read_fn(ldb, ldif, &value, &el->values[el->num_values]);
+                       ret = a->syntax->ldif_read_fn(ldb, el->values, &value, &el->values[el->num_values]);
                        if (ret != 0) {
                                goto failed;
                        }
@@ -647,7 +647,7 @@ struct ldb_ldif *ldb_ldif_read(struct ldb_context *ldb,
                        el->num_values++;
                } else {
                        /* its a new attribute */
-                       msg->elements = talloc_realloc(ldif, msg->elements, 
+                       msg->elements = talloc_realloc(msg, msg->elements, 
                                                         struct ldb_message_element, 
                                                         msg->num_elements+1);
                        if (!msg->elements) {
@@ -661,7 +661,7 @@ struct ldb_ldif *ldb_ldif_read(struct ldb_context *ldb,
                                goto failed;
                        }
                        el->num_values = 1;
-                       ret = a->syntax->ldif_read_fn(ldb, ldif, &value, &el->values[0]);
+                       ret = a->syntax->ldif_read_fn(ldb, el->values, &value, &el->values[0]);
                        if (ret != 0) {
                                goto failed;
                        }