summaryrefslogtreecommitdiffstats
path: root/crypto/encode_decode
diff options
context:
space:
mode:
authorDr. David von Oheimb <David.von.Oheimb@siemens.com>2021-04-26 14:51:34 +0200
committerDr. David von Oheimb <dev@ddvo.net>2021-05-04 18:16:48 +0200
commitd9efb24de8765ddc921b8e304372e8e33d4d65f4 (patch)
treeb7ce74b27150b761b285a01e7eeb5dcdae141907 /crypto/encode_decode
parent6c3d101a62808b2f6ce92b338cc9a4ddd5bd67a2 (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/encode_decode')
-rw-r--r--crypto/encode_decode/decoder_lib.c9
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;
}