Free the full keyblock and not just the content [CID-173]

This commit is contained in:
Love Hornquist Astrand
2009-07-30 09:54:45 +02:00
parent e8c46282ee
commit 276867b63e

View File

@@ -489,7 +489,7 @@ kerberos5_is(Authenticator *ap, unsigned char *data, int cnt)
log_message("Kerberos V5: "
"krb5_mk_rep failed (%s)",
krb5_get_err_text(context, ret));
krb5_free_keyblock_contents(context, key_block);
krb5_free_keyblock(context, key_block);
return;
}
Data(ap, KRB_RESPONSE, outbuf.data, outbuf.length);
@@ -531,11 +531,11 @@ kerberos5_is(Authenticator *ap, unsigned char *data, int cnt)
if (ret != -1)
free(msg);
auth_finished (ap, AUTH_REJECT);
krb5_free_keyblock_contents(context, key_block);
krb5_free_keyblock(context, key_block);
break;
}
auth_finished(ap, AUTH_USER);
krb5_free_keyblock_contents(context, key_block);
krb5_free_keyblock(context, key_block);
break;
case KRB_FORWARD: {
@@ -658,7 +658,7 @@ kerberos5_reply(Authenticator *ap, unsigned char *data, int cnt)
skey.length = 8;
skey.data = keyblock->keyvalue.data;
encrypt_session_key(&skey, 0);
krb5_free_keyblock_contents (context, keyblock);
krb5_free_keyblock (context, keyblock);
auth_finished(ap, AUTH_USER);
if (forward_flags & OPTS_FORWARD_CREDS)
kerberos5_forward(ap);