From: Rich Salz <rsalz@openssl.org>
Date: Wed, 3 Jan 2018 18:12:20 +0000 (-0500)
Subject: Rewrite RT3513.
X-Git-Tag: OpenSSL_1_1_1-pre1~239
X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=7838b413339240c6aac562f636310033db201dd7;p=oweals%2Fopenssl.git

Rewrite RT3513.

Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5011)
---

diff --git a/crypto/x509/t_req.c b/crypto/x509/t_req.c
index 859bcd04a8..7c0bd42d8f 100644
--- a/crypto/x509/t_req.c
+++ b/crypto/x509/t_req.c
@@ -135,16 +135,19 @@ int X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflags,
                         goto err;
                 if (BIO_puts(bp, ":") <= 0)
                     goto err;
-                if ((type == V_ASN1_PRINTABLESTRING) ||
-                    (type == V_ASN1_T61STRING) ||
-                    (type == V_ASN1_UTF8STRING) ||
-                    (type == V_ASN1_IA5STRING)) {
+                switch (type) {
+                case V_ASN1_PRINTABLESTRING:
+                case V_ASN1_T61STRING:
+                case V_ASN1_UTF8STRING:
+                case V_ASN1_IA5STRING:
                     if (BIO_write(bp, (char *)bs->data, bs->length)
-                        != bs->length)
+                            != bs->length)
                         goto err;
                     BIO_puts(bp, "\n");
-                } else {
+                    break;
+                default:
                     BIO_puts(bp, "unable to print attribute\n");
+                    break;
                 }
                 if (++ii < count)
                     goto get_next;