diff --git a/lib/krb5/crypto.c b/lib/krb5/crypto.c index 0cfa8ddd6..02ccaa230 100644 --- a/lib/krb5/crypto.c +++ b/lib/krb5/crypto.c @@ -1380,9 +1380,11 @@ do_checksum (krb5_context context, keyed_checksum = (ct->flags & F_KEYED) != 0; if(keyed_checksum && crypto == NULL) return KRB5_PROG_SUMTYPE_NOSUPP; /* XXX */ - if(keyed_checksum) + if(keyed_checksum) { ret = get_checksum_key(context, crypto, usage, ct, &dkey); - else + if (ret) + return ret; + } else dkey = NULL; result->cksumtype = ct->type; krb5_data_alloc(&result->checksum, ct->checksumsize);