diff options
Diffstat (limited to 'src/plugins/kdb/ldap')
-rw-r--r-- | src/plugins/kdb/ldap/libkdb_ldap/ldap_misc.c | 10 | ||||
-rw-r--r-- | src/plugins/kdb/ldap/libkdb_ldap/ldap_principal.c | 8 | ||||
-rw-r--r-- | src/plugins/kdb/ldap/libkdb_ldap/ldap_realm.c | 2 |
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 |