diff options
Diffstat (limited to 'src/lib/gssapi/krb5/k5seal.c')
-rw-r--r-- | src/lib/gssapi/krb5/k5seal.c | 6 |
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, |