if (maj_stat != GSS_S_COMPLETE) {
pgsserr("gss_set_allowable_enctypes",
maj_stat, min_stat, &krb5oid);
+ gss_release_cred(&min_stat, &credh);
return -1;
}
sec->cred = credh;
"principal '%s' from keytab '%s'\n",
error_message(code),
pname ? pname : "<unparsable>", kt_name);
-#ifdef HAVE_KRB5
- if (pname) krb5_free_unparsed_name(context, pname);
-#else
- if (pname) free(pname);
-#endif
+ if (pname) k5_free_unparsed_name(context, pname);
goto out;
}
if (ple == NULL) {
printerr(0, "ERROR: could not allocate storage "
"for principal list entry\n");
-#ifdef HAVE_KRB5
- krb5_free_unparsed_name(context, pname);
-#else
- free(pname);
-#endif
+ k5_free_unparsed_name(context, pname);
krb5_kt_free_entry(context, &kte);
retval = ENOMEM;
goto out;
printerr(0, "ERROR: %s while copying realm to "
"principal list entry\n",
"not enough memory");
-#ifdef HAVE_KRB5
- krb5_free_unparsed_name(context, pname);
-#else
- free(pname);
-#endif
+ k5_free_unparsed_name(context, pname);
krb5_kt_free_entry(context, &kte);
retval = ENOMEM;
goto out;
printerr(0, "ERROR: %s while copying principal "
"to principal list entry\n",
error_message(code));
-#ifdef HAVE_KRB5
- krb5_free_unparsed_name(context, pname);
-#else
- free(pname);
-#endif
+ k5_free_unparsed_name(context, pname);
krb5_kt_free_entry(context, &kte);
retval = code;
goto out;
printerr(2, "We will NOT use this entry (%s)\n",
pname);
}
-#ifdef HAVE_KRB5
- krb5_free_unparsed_name(context, pname);
-#else
- free(pname);
-#endif
+ k5_free_unparsed_name(context, pname);
krb5_kt_free_entry(context, &kte);
}