From 5761d220bbe889d488ae7ea2ff9f2c12cbc9dac0 Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Tue, 30 Jan 2001 17:10:55 +0000 Subject: [PATCH] (decrypt_internal_derived): check that there's enough data git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@9622 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/crypto.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/krb5/crypto.c b/lib/krb5/crypto.c index cd40076e4..8716a9532 100644 --- a/lib/krb5/crypto.c +++ b/lib/krb5/crypto.c @@ -2305,12 +2305,15 @@ decrypt_internal_derived(krb5_context context, struct encryption_type *et = crypto->et; unsigned long l; + checksum_sz = CHECKSUMSIZE(et->keyed_checksum); + if (len < checksum_sz) + return EINVAL; /* better error code? */ + p = malloc(len); if(len != 0 && p == NULL) return ENOMEM; memcpy(p, data, len); - checksum_sz = CHECKSUMSIZE(et->keyed_checksum); len -= checksum_sz; ret = _get_derived_key(context, crypto, ENCRYPTION_USAGE(usage), &dkey);