diff options
author | Dr. David von Oheimb <David.von.Oheimb@siemens.com> | 2021-04-26 14:51:34 +0200 |
---|---|---|
committer | Dr. David von Oheimb <dev@ddvo.net> | 2021-05-04 18:16:48 +0200 |
commit | d9efb24de8765ddc921b8e304372e8e33d4d65f4 (patch) | |
tree | b7ce74b27150b761b285a01e7eeb5dcdae141907 /crypto | |
parent | 6c3d101a62808b2f6ce92b338cc9a4ddd5bd67a2 (diff) |
OSSL_DECODER_from_bio() Prevent spurious decoding error at EOF
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15029)
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/encode_decode/decoder_lib.c | 9 |
1 files 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; } |