summaryrefslogtreecommitdiffstats
path: root/crypto/asn1/a_print.c
diff options
context:
space:
mode:
authorTomas Mraz <tomas@openssl.org>2021-08-26 15:08:15 +0200
committerTomas Mraz <tomas@openssl.org>2021-08-31 12:20:12 +0200
commit72a509f94fc2be80c9903b7512715cd526a82e25 (patch)
tree0364ec8a7189ce3fc0521847d73e6929d66932ba /crypto/asn1/a_print.c
parent69222552252c86e7d68dcc24b2ce1aa0793ab3aa (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.c7
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;