summaryrefslogtreecommitdiff
path: root/source3/libads
diff options
context:
space:
mode:
Diffstat (limited to 'source3/libads')
-rw-r--r--source3/libads/ldap.c14
-rw-r--r--source3/libads/ldap_schema.c4
2 files changed, 3 insertions, 15 deletions
diff --git a/source3/libads/ldap.c b/source3/libads/ldap.c
index 588c0a131c..3e5764a598 100644
--- a/source3/libads/ldap.c
+++ b/source3/libads/ldap.c
@@ -2619,19 +2619,7 @@ int ads_count_replies(ADS_STRUCT *ads, void *res)
bool ads_pull_sid(ADS_STRUCT *ads, LDAPMessage *msg, const char *field,
DOM_SID *sid)
{
- struct berval **values;
- bool ret = False;
-
- values = ldap_get_values_len(ads->ldap.ld, msg, field);
-
- if (!values)
- return False;
-
- if (values[0])
- ret = sid_parse(values[0]->bv_val, values[0]->bv_len, sid);
-
- ldap_value_free_len(values);
- return ret;
+ return smbldap_pull_sid(ads->ldap.ld, msg, field, sid);
}
/**
diff --git a/source3/libads/ldap_schema.c b/source3/libads/ldap_schema.c
index b5d2d35889..a841fbdca8 100644
--- a/source3/libads/ldap_schema.c
+++ b/source3/libads/ldap_schema.c
@@ -122,7 +122,7 @@ const char *ads_get_attrname_by_guid(ADS_STRUCT *ads,
goto done;
}
- guid_bin = guid_binstring(schema_guid);
+ guid_bin = guid_binstring(mem_ctx, schema_guid);
if (!guid_bin) {
goto done;
}
@@ -145,7 +145,7 @@ const char *ads_get_attrname_by_guid(ADS_STRUCT *ads,
result = ads_pull_string(ads, mem_ctx, res, "lDAPDisplayName");
done:
- SAFE_FREE(guid_bin);
+ TALLOC_FREE(guid_bin);
ads_msgfree(ads, res);
return result;