The 'type' parameter, an EVP_MD pointer, represents the type of digest
authorGeoff Thorpe <geoff@openssl.org>
Fri, 25 Jan 2002 03:13:50 +0000 (03:13 +0000)
committerGeoff Thorpe <geoff@openssl.org>
Fri, 25 Jan 2002 03:13:50 +0000 (03:13 +0000)
required as well as a default implementation (when no ENGINE provides a
replacement implementation). This change makes sure the correct
implementation's "init()" handler is used rather than assuming 'type'.

crypto/evp/digest.c

index 798cf9d0aa18e93d678a0539d85675cf38f1fd41..12c6cec5d88db89077b2ea999d53a1efaae27992 100644 (file)
@@ -189,7 +189,7 @@ int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl)
                        ctx->md_data=OPENSSL_malloc(type->ctx_size);
                }
 skip_to_init:
                        ctx->md_data=OPENSSL_malloc(type->ctx_size);
                }
 skip_to_init:
-       return type->init(ctx);
+       return ctx->digest->init(ctx);
        }
 
 int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *data,
        }
 
 int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *data,