From 4e312517de49524e5fd412a29d3082411a996a51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Wed, 13 Jul 2005 08:29:29 +0000 Subject: [PATCH] (gss_adat): avoid leaking memory (gss_auth): always try next kname if there is one, independant of min_stat git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@15644 ec53bebd-3082-4978-b11e-865c3cabbd6b --- appl/ftp/ftp/gssapi.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/appl/ftp/ftp/gssapi.c b/appl/ftp/ftp/gssapi.c index 31342492f..9b2d9ee7b 100644 --- a/appl/ftp/ftp/gssapi.c +++ b/appl/ftp/ftp/gssapi.c @@ -214,6 +214,7 @@ gss_adat(void *app_data, void *buf, size_t len) reply(535, "Out of memory base64-encoding."); return -1; } + gss_release_buffer(&min_stat, &output_token); } if(maj_stat == GSS_S_COMPLETE){ char *name; @@ -269,6 +270,8 @@ gss_adat(void *app_data, void *buf, size_t len) reply(431, "Security resource unavailable"); } out: + if (client_name) + gss_release_name(&min_stat, &client_name); free(p); return 0; } @@ -400,7 +403,7 @@ gss_auth(void *app_data, char *host) gss_release_name(&min_stat, &target_name); - if(min_stat == KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN && *kname != NULL) { + if(*kname != NULL) { if(import_name(*kname++, host, &target_name)) { if (bindings != GSS_C_NO_CHANNEL_BINDINGS)