From 9437fe0b01fee8dfd23303d66ad45c2f523a8f25 Mon Sep 17 00:00:00 2001 From: Matt Caswell Date: Tue, 26 Mar 2019 15:25:15 +0000 Subject: [PATCH] Tolerate 0 byte input length for Update functions We treat that as automatic success. Other EVP_*Update functions already do this (e.g. EVP_EncryptUpdate, EVP_DecryptUpdate etc). EVP_EncodeUpdate is a bit of an anomoly. That treats 0 byte input length as an error. Fixes #8576 Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/8587) (cherry picked from commit a8274ea351988aa754cb9983b27d7059613ee11e) --- crypto/evp/digest.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/crypto/evp/digest.c b/crypto/evp/digest.c index f78dab7678..f405a81416 100644 --- a/crypto/evp/digest.c +++ b/crypto/evp/digest.c @@ -150,6 +150,9 @@ int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl) int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *data, size_t count) { + if (count == 0) + return 1; + return ctx->update(ctx, data, count); } -- 2.25.1