summaryrefslogtreecommitdiffstats
path: root/src/lib/gssapi/krb5/k5seal.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/gssapi/krb5/k5seal.c')
-rw-r--r--src/lib/gssapi/krb5/k5seal.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/lib/gssapi/krb5/k5seal.c b/src/lib/gssapi/krb5/k5seal.c
index bb8818c99..4e5c78bd1 100644
--- a/src/lib/gssapi/krb5/k5seal.c
+++ b/src/lib/gssapi/krb5/k5seal.c
@@ -40,6 +40,7 @@ make_seal_token(context, enc_ed, seq_ed, seqnum, direction, text, token,
krb5_error_code code;
krb5_MD5_CTX md5;
krb5_checksum desmac;
+ krb5_octet cbc_checksum[KRB5_MIT_DES_KEYSIZE];
int tmsglen, tlen;
unsigned char *t, *ptr;
@@ -146,6 +147,8 @@ make_seal_token(context, enc_ed, seq_ed, seqnum, direction, text, token,
/* XXX this depends on the key being a single-des key, but that's
all that kerberos supports right now */
+ desmac.length = sizeof(cbc_checksum);
+ desmac.contents = cbc_checksum;
if (code = krb5_calculate_checksum(context, CKSUMTYPE_DESCBC, md5.digest, 16,
seq_ed->key->contents,
seq_ed->key->length,
@@ -156,9 +159,6 @@ make_seal_token(context, enc_ed, seq_ed, seqnum, direction, text, token,
memcpy(ptr+14, desmac.contents, 8);
- /* XXX krb5_free_checksum_contents? */
- xfree(desmac.contents);
-
/* create the seq_num */
if (code = kg_make_seq_num(seq_ed, direction?0:0xff, *seqnum,