}
- new_msg = ldb_msg_diff(ldb, drs_msg, ldap_msg);
- talloc_steal(search_req, new_msg);
+ ret = ldb_msg_diff_ex(ldb, drs_msg, ldap_msg,
+ (TALLOC_CTX*)search_req, &new_msg);
+ torture_assert(tctx, ret == LDB_SUCCESS, "ldb_msg_diff_ex() has failed");
if (new_msg->num_elements != 0) {
char *s;
struct ldb_ldif ldif;
s = ldb_ldif_write_string(ldb, new_msg, &ldif);
s = talloc_asprintf(tctx, "\n# Difference in between DRS and LDAP objects: \n%s\n", s);
- ldif.msg = ldb_msg_diff(ldb, ldap_msg, drs_msg);
+ ret = ldb_msg_diff_ex(ldb, ldap_msg, drs_msg,
+ (TALLOC_CTX*)search_req, &ldif.msg);
+ torture_assert(tctx, ret == LDB_SUCCESS, "ldb_msg_diff_ex() has failed");
s = talloc_asprintf_append(s,
"\n# Difference in between LDAP and DRS objects: \n%s\n",
ldb_ldif_write_string(ldb, new_msg, &ldif));