From d9efb24de8765ddc921b8e304372e8e33d4d65f4 Mon Sep 17 00:00:00 2001 From: "Dr. David von Oheimb" Date: Mon, 26 Apr 2021 14:51:34 +0200 Subject: [PATCH] OSSL_DECODER_from_bio() Prevent spurious decoding error at EOF Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/15029) --- crypto/encode_decode/decoder_lib.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/crypto/encode_decode/decoder_lib.c b/crypto/encode_decode/decoder_lib.c index 45aeb39184..8a5082c441 100644 --- a/crypto/encode_decode/decoder_lib.c +++ b/crypto/encode_decode/decoder_lib.c @@ -79,10 +79,11 @@ int OSSL_DECODER_from_bio(OSSL_DECODER_CTX *ctx, BIO *in) const char *input_structure = ctx->input_structure != NULL ? ctx->input_structure : ""; - ERR_raise_data(ERR_LIB_OSSL_DECODER, ERR_R_UNSUPPORTED, - "No supported for the data to decode.%s%s%s%s%s%s", - spaces, input_type_label, input_type, comma, - input_structure_label, input_structure); + if (BIO_eof(in) == 0 /* Prevent spurious decoding error */) + ERR_raise_data(ERR_LIB_OSSL_DECODER, ERR_R_UNSUPPORTED, + "Not supported for the data to decode.%s%s%s%s%s%s", + spaces, input_type_label, input_type, comma, + input_structure_label, input_structure); ok = 0; } -- 2.39.2