Free the full keyblock and not just the content [CID-173]
This commit is contained in:
@@ -489,7 +489,7 @@ kerberos5_is(Authenticator *ap, unsigned char *data, int cnt)
|
|||||||
log_message("Kerberos V5: "
|
log_message("Kerberos V5: "
|
||||||
"krb5_mk_rep failed (%s)",
|
"krb5_mk_rep failed (%s)",
|
||||||
krb5_get_err_text(context, ret));
|
krb5_get_err_text(context, ret));
|
||||||
krb5_free_keyblock_contents(context, key_block);
|
krb5_free_keyblock(context, key_block);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Data(ap, KRB_RESPONSE, outbuf.data, outbuf.length);
|
Data(ap, KRB_RESPONSE, outbuf.data, outbuf.length);
|
||||||
@@ -531,11 +531,11 @@ kerberos5_is(Authenticator *ap, unsigned char *data, int cnt)
|
|||||||
if (ret != -1)
|
if (ret != -1)
|
||||||
free(msg);
|
free(msg);
|
||||||
auth_finished (ap, AUTH_REJECT);
|
auth_finished (ap, AUTH_REJECT);
|
||||||
krb5_free_keyblock_contents(context, key_block);
|
krb5_free_keyblock(context, key_block);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
auth_finished(ap, AUTH_USER);
|
auth_finished(ap, AUTH_USER);
|
||||||
krb5_free_keyblock_contents(context, key_block);
|
krb5_free_keyblock(context, key_block);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case KRB_FORWARD: {
|
case KRB_FORWARD: {
|
||||||
@@ -658,7 +658,7 @@ kerberos5_reply(Authenticator *ap, unsigned char *data, int cnt)
|
|||||||
skey.length = 8;
|
skey.length = 8;
|
||||||
skey.data = keyblock->keyvalue.data;
|
skey.data = keyblock->keyvalue.data;
|
||||||
encrypt_session_key(&skey, 0);
|
encrypt_session_key(&skey, 0);
|
||||||
krb5_free_keyblock_contents (context, keyblock);
|
krb5_free_keyblock (context, keyblock);
|
||||||
auth_finished(ap, AUTH_USER);
|
auth_finished(ap, AUTH_USER);
|
||||||
if (forward_flags & OPTS_FORWARD_CREDS)
|
if (forward_flags & OPTS_FORWARD_CREDS)
|
||||||
kerberos5_forward(ap);
|
kerberos5_forward(ap);
|
||||||
|
Reference in New Issue
Block a user