From be74e88d9a4b74fcaf25b0816e3fa8a487c91ab5 Mon Sep 17 00:00:00 2001 From: Gerald Carter Date: Fri, 7 May 2004 02:48:03 +0000 Subject: [PATCH] r541: fixing segfault in winbindd caused -r527 -- looks like a bug in heimdal; also initialize some pointers --- source/libads/kerberos.c | 8 ++++---- source/libads/krb5_setpw.c | 6 +++--- source/libads/sasl.c | 2 +- source/libsmb/clikrb5.c | 5 ++++- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/source/libads/kerberos.c b/source/libads/kerberos.c index 70f6f3386c7..e8bf4b08462 100644 --- a/source/libads/kerberos.c +++ b/source/libads/kerberos.c @@ -56,9 +56,9 @@ kerb_prompter(krb5_context ctx, void *data, */ int kerberos_kinit_password(const char *principal, const char *password, int time_offset, time_t *expire_time) { - krb5_context ctx; + krb5_context ctx = NULL; krb5_error_code code = 0; - krb5_ccache cc; + krb5_ccache cc = NULL; krb5_principal me; krb5_creds my_creds; @@ -142,8 +142,8 @@ int ads_kinit_password(ADS_STRUCT *ads) int ads_kdestroy(const char *cc_name) { krb5_error_code code; - krb5_context ctx; - krb5_ccache cc; + krb5_context ctx = NULL; + krb5_ccache cc = NULL; if ((code = krb5_init_context (&ctx))) { DEBUG(3, ("ads_kdestroy: kdb5_init_context rc=%d\n", code)); diff --git a/source/libads/krb5_setpw.c b/source/libads/krb5_setpw.c index 16d3df83e93..5c859f0e995 100644 --- a/source/libads/krb5_setpw.c +++ b/source/libads/krb5_setpw.c @@ -463,12 +463,12 @@ ADS_STATUS ads_krb5_set_password(const char *kdc_host, const char *princ, ADS_STATUS aret; krb5_error_code ret; - krb5_context context; + krb5_context context = NULL; krb5_principal principal; char *princ_name; char *realm; krb5_creds creds, *credsp; - krb5_ccache ccache; + krb5_ccache ccache = NULL; ret = krb5_init_context(&context); if (ret) { @@ -578,7 +578,7 @@ static ADS_STATUS ads_krb5_chg_password(const char *kdc_host, { ADS_STATUS aret; krb5_error_code ret; - krb5_context context; + krb5_context context = NULL; krb5_principal princ; krb5_get_init_creds_opt opts; krb5_creds creds; diff --git a/source/libads/sasl.c b/source/libads/sasl.c index 971156ae612..18cbb465887 100644 --- a/source/libads/sasl.c +++ b/source/libads/sasl.c @@ -273,7 +273,7 @@ static ADS_STATUS ads_sasl_gssapi_bind(ADS_STRUCT *ads) unsigned sec_layer; ADS_STATUS status; krb5_principal principal; - krb5_context ctx; + krb5_context ctx = NULL; krb5_enctype enc_types[] = { #ifdef ENCTYPE_ARCFOUR_HMAC ENCTYPE_ARCFOUR_HMAC, diff --git a/source/libsmb/clikrb5.c b/source/libsmb/clikrb5.c index e688ad608cd..9027f192ef7 100644 --- a/source/libsmb/clikrb5.c +++ b/source/libsmb/clikrb5.c @@ -359,7 +359,7 @@ int cli_krb5_get_ticket(const char *principal, time_t time_offset, { krb5_error_code retval; krb5_data packet; - krb5_context context; + krb5_context context = NULL; krb5_ccache ccdef = NULL; krb5_auth_context auth_context = NULL; krb5_enctype enc_types[] = { @@ -413,8 +413,11 @@ int cli_krb5_get_ticket(const char *principal, time_t time_offset, failed: if ( context ) { +#if 0 /* JERRY -- disabled since it causes heimdal 0.6.1rc3 to die + SuSE 9.1 Pro */ if (ccdef) krb5_cc_close(context, ccdef); +#endif if (auth_context) krb5_auth_con_free(context, auth_context); krb5_free_context(context); -- 2.11.4.GIT