]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - utils/gssd/krb5_util.c
Hide differences between MIT and Heimdal in macros
[nfs-utils.git] / utils / gssd / krb5_util.c
index f1682b8ec8701f5090577122869b76cf470c0eb9..7ef690bfabcafc7ea5d353ddb3d85122b6accbae 100644 (file)
@@ -298,6 +298,7 @@ limit_krb5_enctypes(struct rpc_gss_sec *sec, uid_t uid)
        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;
@@ -363,11 +364,7 @@ gssd_get_single_krb5_cred(krb5_context context,
                            "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;
        }
 
@@ -496,11 +493,7 @@ gssd_process_krb5_keytab(krb5_context context, krb5_keytab kt, char *kt_name)
                        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;
@@ -520,11 +513,7 @@ gssd_process_krb5_keytab(krb5_context context, krb5_keytab kt, char *kt_name)
                                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;
@@ -534,11 +523,7 @@ gssd_process_krb5_keytab(krb5_context context, krb5_keytab kt, char *kt_name)
                                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;
@@ -554,11 +539,7 @@ gssd_process_krb5_keytab(krb5_context context, krb5_keytab kt, char *kt_name)
                        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);
        }