aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/kdb/ldap
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/kdb/ldap')
-rw-r--r--src/plugins/kdb/ldap/libkdb_ldap/ldap_misc.c10
-rw-r--r--src/plugins/kdb/ldap/libkdb_ldap/ldap_principal.c8
-rw-r--r--src/plugins/kdb/ldap/libkdb_ldap/ldap_realm.c2
3 files changed, 9 insertions, 11 deletions
diff --git a/src/plugins/kdb/ldap/libkdb_ldap/ldap_misc.c b/src/plugins/kdb/ldap/libkdb_ldap/ldap_misc.c
index 6bc2059..b3bf1ba 100644
--- a/src/plugins/kdb/ldap/libkdb_ldap/ldap_misc.c
+++ b/src/plugins/kdb/ldap/libkdb_ldap/ldap_misc.c
@@ -1370,7 +1370,7 @@ get_ldap_auth_ind(krb5_context context, LDAP *ld, LDAPMessage *ldap_ent,
{
krb5_error_code ret;
int i;
- char **auth_inds = NULL;
+ char **auth_inds = NULL, *indstr;
struct k5buf buf = EMPTY_K5BUF;
auth_inds = ldap_get_values(ld, ldap_ent, "krbPrincipalAuthInd");
@@ -1386,12 +1386,14 @@ get_ldap_auth_ind(krb5_context context, LDAP *ld, LDAPMessage *ldap_ent,
k5_buf_add(&buf, " ");
}
- ret = k5_buf_status(&buf);
- if (ret)
+ indstr = k5_buf_cstring(&buf);
+ if (indstr == NULL) {
+ ret = ENOMEM;
goto cleanup;
+ }
ret = krb5_dbe_set_string(context, entry, KRB5_KDB_SK_REQUIRE_AUTH,
- buf.data);
+ indstr);
if (!ret)
*mask |= KDB_AUTH_IND_ATTR;
diff --git a/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal.c b/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal.c
index b5a4e5f..6328fbe 100644
--- a/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal.c
+++ b/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal.c
@@ -614,8 +614,6 @@ krb5_ldap_parse_principal_name(char *i_princ_name, char **o_princ_name)
at_rlm_name = strrchr(i_princ_name, '@');
if (!at_rlm_name) {
*o_princ_name = strdup(i_princ_name);
- if (!*o_princ_name)
- return ENOMEM;
} else {
k5_buf_init_dynamic(&buf);
for (p = i_princ_name; p < at_rlm_name; p++) {
@@ -624,9 +622,7 @@ krb5_ldap_parse_principal_name(char *i_princ_name, char **o_princ_name)
k5_buf_add_len(&buf, p, 1);
}
k5_buf_add(&buf, at_rlm_name);
- if (k5_buf_status(&buf) != 0)
- return ENOMEM;
- *o_princ_name = buf.data;
+ *o_princ_name = k5_buf_cstring(&buf);
}
- return 0;
+ return (*o_princ_name == NULL) ? ENOMEM : 0;
}
diff --git a/src/plugins/kdb/ldap/libkdb_ldap/ldap_realm.c b/src/plugins/kdb/ldap/libkdb_ldap/ldap_realm.c
index 3daf524..753929b 100644
--- a/src/plugins/kdb/ldap/libkdb_ldap/ldap_realm.c
+++ b/src/plugins/kdb/ldap/libkdb_ldap/ldap_realm.c
@@ -87,7 +87,7 @@ ldap_filter_correct (char *in)
break;
k5_buf_add_fmt(&buf, "\\%2x", (unsigned char)*in++);
}
- return buf.data;
+ return k5_buf_cstring(&buf);
}
static int