From c1aba0763c477f345c065007ff6295dbe6ec4f64 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Thu, 10 Sep 2020 13:50:54 +0200 Subject: [PATCH] OSSL_DECODER 'decode' function must never be NULL. The conditions for a valid implementation allowed the 'decode' function to be NULL or the 'export_object' was NULL. That condition is changed so that 'decode' is checked to be non-NULL by itself. Fixes #12819 Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/12849) --- crypto/encode_decode/decoder_meth.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/encode_decode/decoder_meth.c b/crypto/encode_decode/decoder_meth.c index 235899b6cea..41406df90f5 100644 --- a/crypto/encode_decode/decoder_meth.c +++ b/crypto/encode_decode/decoder_meth.c @@ -215,7 +215,7 @@ void *ossl_decoder_from_dispatch(int id, const OSSL_ALGORITHM *algodef, */ if (!((decoder->newctx == NULL && decoder->freectx == NULL) || (decoder->newctx != NULL && decoder->freectx != NULL)) - || (decoder->decode == NULL && decoder->export_object == NULL)) { + || decoder->decode == NULL) { OSSL_DECODER_free(decoder); ERR_raise(ERR_LIB_OSSL_DECODER, ERR_R_INVALID_PROVIDER_FUNCTIONS); return NULL; -- 2.47.3