From ad4784953d6d79484204a8bb8243be73a6e9aa98 Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Fri, 6 May 2011 17:38:39 +0000 Subject: Return error codes for selftest failure instead of hard assertion errors. --- fips/utl/fips_md.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'fips/utl/fips_md.c') diff --git a/fips/utl/fips_md.c b/fips/utl/fips_md.c index 37149506f3..556267994c 100644 --- a/fips/utl/fips_md.c +++ b/fips/utl/fips_md.c @@ -204,7 +204,11 @@ int FIPS_digestinit(EVP_MD_CTX *ctx, const EVP_MD *type) int FIPS_digestupdate(EVP_MD_CTX *ctx, const void *data, size_t count) { - FIPS_selftest_check(); + if (FIPS_selftest_failed()) + { + FIPSerr(FIPS_F_FIPS_DIGESTUPDATE, FIPS_R_SELFTEST_FAILED); + return 0; + } return ctx->update(ctx,data,count); } @@ -213,7 +217,11 @@ int FIPS_digestfinal(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *size) { int ret; - FIPS_selftest_check(); + if (FIPS_selftest_failed()) + { + FIPSerr(FIPS_F_FIPS_DIGESTFINAL, FIPS_R_SELFTEST_FAILED); + return 0; + } OPENSSL_assert(ctx->digest->md_size <= EVP_MAX_MD_SIZE); ret=ctx->digest->final(ctx,md); -- cgit v1.2.3