diff options
author | Tomas Mraz <tomas@openssl.org> | 2021-08-26 15:08:15 +0200 |
---|---|---|
committer | Tomas Mraz <tomas@openssl.org> | 2021-08-31 12:20:12 +0200 |
commit | 72a509f94fc2be80c9903b7512715cd526a82e25 (patch) | |
tree | 0364ec8a7189ce3fc0521847d73e6929d66932ba /crypto/asn1/a_print.c | |
parent | 69222552252c86e7d68dcc24b2ce1aa0793ab3aa (diff) |
Make the -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION pass tests
Fixes #16428
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
(Merged from https://github.com/openssl/openssl/pull/16433)
Diffstat (limited to 'crypto/asn1/a_print.c')
-rw-r--r-- | crypto/asn1/a_print.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/crypto/asn1/a_print.c b/crypto/asn1/a_print.c index 328e0abcc5..e04f9b1f2e 100644 --- a/crypto/asn1/a_print.c +++ b/crypto/asn1/a_print.c @@ -18,12 +18,13 @@ int ASN1_PRINTABLE_type(const unsigned char *s, int len) int ia5 = 0; int t61 = 0; - if (len <= 0) - len = -1; if (s == NULL) return V_ASN1_PRINTABLESTRING; - while ((*s) && (len-- != 0)) { + if (len < 0) + len = strlen((const char *)s); + + while (len-- > 0) { c = *(s++); if (!ossl_isasn1print(c)) ia5 = 1; |