if (entry.aliases) {
unsigned int i;
struct rk_strpool *p = NULL;
+ char *s;
for (i = 0; i< entry.aliases->len; i++) {
krb5_unparse_name_fixed(context, entry.principal, buf, sizeof(buf));
i + 1 < entry.aliases->len ? ", " : "");
}
- rtbl_add_column_entry_by_id(table, 5, rk_strpoolcollect(p));
+ rtbl_add_column_entry_by_id(table, 5, (s = rk_strpoolcollect(p)));
+ free(s);
}
krb5_kt_free_entry(context, &entry);
int32_t val;
header.data = "header";
- header.length = 6;
+ header.length = sizeof("header") - 1;
msg.data = "0123456789abcdef"; /* padded for most enctypes */
- msg.length = 32;
+ msg.length = sizeof("0123456789abcdef") - 1;
trailer.data = "trailer";
trailer.length = 7;
if (k == NULL)
return;
- k = (heim_data_t)key;
-
db->ret = db->plug->delf(db->db_data, db->current_table, k, &db->error);
heim_release(k);
}
if (jsondb == NULL) {
heim_release(contents);
heim_release(dbname_s);
+ heim_release(bkpname_s);
return ENOMEM;
}
rkey);
if (kret == 0)
use_subkey = 1;
- krb5_free_keyblock(context, rkey);
}
+ krb5_free_keyblock(context, rkey);
}
if (use_subkey) {
ctx->more_flags |= ACCEPTOR_SUBKEY;
}
ret = krb5_store_keyblock(sp, *key);
- krb5_free_keyblock (context, key);
if (ret)
goto out;
}
out:
+ krb5_free_keyblock(context, key);
krb5_data_free(&data);
if (sp)
krb5_storage_free(sp);
gss_ctx_id_t context;
gssspnego_ctx ctx;
+ *context_handle = GSS_C_NO_CONTEXT;
ret = _gss_spnego_alloc_sec_context(minor_status, &context);
if (ret != GSS_S_COMPLETE) {
return ret;
interprocess_token,
&ctx->negotiated_ctx_id);
if (ret != GSS_S_COMPLETE) {
- _gss_spnego_internal_delete_sec_context(&minor, context_handle, GSS_C_NO_BUFFER);
+ _gss_spnego_internal_delete_sec_context(&minor, &context, GSS_C_NO_BUFFER);
return ret;
}
}
ret = bind_principal(context, principal, fetch, 1);
+ krb5_free_principal(context, enterprise_principal);
if (ret)
return ret;
- krb5_free_principal(context, enterprise_principal);
-
sqlite_error = hdb_sqlite_step(context, hsdb->db, fetch);
if (sqlite_error != SQLITE_ROW) {
if(sqlite_error == SQLITE_DONE) {
return ret;
ret = stat(ocsp->path, &sb);
- if (ret)
+ if (ret) {
+ rk_xfree(data);
return errno;
+ }
ret = parse_ocsp_basic(data, length, &basic);
rk_xfree(data);
if(check_library == NULL) {
krb5_error_code ret;
+ char **strs;
char **tmp;
- tmp = krb5_config_get_strings(context, NULL,
- "password_quality",
- "policy_libraries",
- NULL);
- if(tmp == NULL || *tmp == NULL)
+ strs = krb5_config_get_strings(context, NULL,
+ "password_quality",
+ "policy_libraries",
+ NULL);
+ if(strs == NULL || *strs == NULL)
return 0;
- while (*tmp) {
+ for (tmp = strs; *tmp; tmp++) {
ret = add_verifier(context, *tmp);
if (ret)
return ret;
- tmp++;
}
+ krb5_config_free_strings(strs);
return 0;
} else {
return add_verifier(context, check_library);
goto out;
out:
+ krb5_auth_con_free(context, auth_context);
return ret;
}