diff options
Diffstat (limited to 'source4/heimdal/lib/krb5/crypto.c')
-rw-r--r-- | source4/heimdal/lib/krb5/crypto.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/source4/heimdal/lib/krb5/crypto.c b/source4/heimdal/lib/krb5/crypto.c index a30780d1ed..42e2fdf359 100644 --- a/source4/heimdal/lib/krb5/crypto.c +++ b/source4/heimdal/lib/krb5/crypto.c @@ -3260,10 +3260,8 @@ krb5_encrypt_iov_ivec(krb5_context context, memcpy(q, data[i].data.data, data[i].data.length); q += data[i].data.length; } - if (piv) { + if (piv) memset(q, 0, piv->data.length); - q += piv->data.length; - } ret = create_checksum(context, et->keyed_checksum, @@ -3299,10 +3297,9 @@ krb5_encrypt_iov_ivec(krb5_context context, memcpy(q, data[i].data.data, data[i].data.length); q += data[i].data.length; } - if (piv) { + if (piv) memset(q, 0, piv->data.length); - q += piv->data.length; - } + ret = _get_derived_key(context, crypto, ENCRYPTION_USAGE(usage), &dkey); if(ret) { @@ -3333,10 +3330,8 @@ krb5_encrypt_iov_ivec(krb5_context context, memcpy(data[i].data.data, q, data[i].data.length); q += data[i].data.length; } - if (piv) { + if (piv) memcpy(piv->data.data, q, pad_sz); - q += pad_sz; - } free(p); |