summaryrefslogtreecommitdiff
path: root/kexgsss.c
diff options
context:
space:
mode:
Diffstat (limited to 'kexgsss.c')
-rw-r--r--kexgsss.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/kexgsss.c b/kexgsss.c
index 0c3eeaa63..18b065b10 100644
--- a/kexgsss.c
+++ b/kexgsss.c
@@ -78,9 +78,10 @@ kexgss_server(Kex *kex)
78 * in the GSSAPI code are no longer available. This kludges them back 78 * in the GSSAPI code are no longer available. This kludges them back
79 * into life 79 * into life
80 */ 80 */
81 if (!ssh_gssapi_oid_table_ok()) 81 if (!ssh_gssapi_oid_table_ok()) {
82 if ((mechs = ssh_gssapi_server_mechanisms())) 82 mechs = ssh_gssapi_server_mechanisms();
83 xfree(mechs); 83 free(mechs);
84 }
84 85
85 debug2("%s: Identifying %s", __func__, kex->name); 86 debug2("%s: Identifying %s", __func__, kex->name);
86 oid = ssh_gssapi_id_kex(NULL, kex->name, kex->kex_type); 87 oid = ssh_gssapi_id_kex(NULL, kex->name, kex->kex_type);
@@ -158,7 +159,7 @@ kexgss_server(Kex *kex)
158 maj_status = PRIVSEP(ssh_gssapi_accept_ctx(ctxt, &recv_tok, 159 maj_status = PRIVSEP(ssh_gssapi_accept_ctx(ctxt, &recv_tok,
159 &send_tok, &ret_flags)); 160 &send_tok, &ret_flags));
160 161
161 xfree(recv_tok.value); 162 free(recv_tok.value);
162 163
163 if (maj_status != GSS_S_COMPLETE && send_tok.length == 0) 164 if (maj_status != GSS_S_COMPLETE && send_tok.length == 0)
164 fatal("Zero length token output when incomplete"); 165 fatal("Zero length token output when incomplete");
@@ -207,7 +208,7 @@ kexgss_server(Kex *kex)
207 fatal("kexgss_server: BN_bin2bn failed"); 208 fatal("kexgss_server: BN_bin2bn failed");
208 209
209 memset(kbuf, 0, klen); 210 memset(kbuf, 0, klen);
210 xfree(kbuf); 211 free(kbuf);
211 212
212 switch (kex->kex_type) { 213 switch (kex->kex_type) {
213 case KEX_GSS_GRP1_SHA1: 214 case KEX_GSS_GRP1_SHA1: