summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/include/includes.h2
-rw-r--r--source3/libsmb/clikrb5.c17
2 files changed, 10 insertions, 9 deletions
diff --git a/source3/include/includes.h b/source3/include/includes.h
index c5738f0a61..bb78ae0780 100644
--- a/source3/include/includes.h
+++ b/source3/include/includes.h
@@ -1229,7 +1229,7 @@ void get_auth_data_from_tkt(DATA_BLOB *auth_data, krb5_ticket *tkt);
krb5_const_principal get_principal_from_tkt(krb5_ticket *tkt);
krb5_error_code krb5_locate_kdc(krb5_context ctx, const krb5_data *realm, struct sockaddr **addr_pp, int *naddrs, int get_masters);
krb5_error_code get_kerberos_allowed_etypes(krb5_context context, krb5_enctype **enctypes);
-void free_kerberos_etypes(krb5_context context, krb5_enctype *enctypes);
+krb5_error_code free_kerberos_etypes(krb5_context context, krb5_enctype *enctypes);
#endif /* HAVE_KRB5 */
#endif /* _INCLUDES_H */
diff --git a/source3/libsmb/clikrb5.c b/source3/libsmb/clikrb5.c
index c13f663381..2e07dfdb66 100644
--- a/source3/libsmb/clikrb5.c
+++ b/source3/libsmb/clikrb5.c
@@ -127,17 +127,18 @@ krb5_error_code get_kerberos_allowed_etypes(krb5_context context,
__ERROR_XX_UNKNOWN_GET_ENCTYPES_FUNCTIONS
#endif
-#if defined(HAVE_KRB5_FREE_KTYPES)
-void free_kerberos_etypes(krb5_context context, krb5_enctype *enctypes)
+ /* the following is defined as krb5_error_code to keep it from
+ being sucked into proto.h */
+krb5_error_code free_kerberos_etypes(krb5_context context,
+ krb5_enctype *enctypes)
{
- return krb5_free_ktypes(context, enctypes);
-}
+#if defined(HAVE_KRB5_FREE_KTYPES)
+ krb5_free_ktypes(context, enctypes);
#else
-void free_kerberos_etypes(krb5_context context, krb5_enctype *enctypes)
-{
- return free(enctypes);
-}
+ SAFE_FREE(enctypes);
#endif
+ return 0;
+}
#if defined(HAVE_KRB5_AUTH_CON_SETKEY) && !defined(HAVE_KRB5_AUTH_CON_SETUSERUSERKEY)
krb5_error_code krb5_auth_con_setuseruserkey(krb5_context context,