static krb5_error_code KRB5_CALLCONV akf_resolve(krb5_context context, const char *name, krb5_keytab id) { int ret; struct akf_data *d = malloc(sizeof (struct akf_data)); if (d == NULL) { krb5_set_error_message(context, ENOMEM, N_("malloc: out of memory", "")); return ENOMEM; } d->num_entries = 0; ret = get_cell_and_realm (context, d); if (ret) { free (d); return ret; } d->filename = strdup (name); if (d->filename == NULL) { free (d->cell); free (d->realm); free (d); krb5_set_error_message(context, ENOMEM, N_("malloc: out of memory", "")); return ENOMEM; } id->data = d; return 0; }
static krb5_error_code KRB5_CALLCONV akf_resolve(krb5_context context, const char *name, krb5_keytab id) { int ret; struct akf_data *d = calloc(1, sizeof (struct akf_data)); if (d == NULL) return krb5_enomem(context); d->num_entries = 0; ret = get_cell_and_realm (context, d); if (ret) { free (d); return ret; } d->filename = strdup (name); if (d->filename == NULL) { free (d->cell); free (d->realm); free (d); return krb5_enomem(context); } id->data = d; return 0; }