/* Provenance: openssl/openssl print_qualifiers (fixed). * repo: openssl/openssl * commit: 1747d4658b3830951068a6a6c1fa2b45c4731fb3 * parent: ad6ac17489241574136b7d035f01f6175dd9c941 * commit_url: https://github.com/openssl/openssl/commit/1747d4658b3830951068a6a6c1fa2b45c4731fb3 * cve: CVE-2021-3712 * license: OpenSSL License * function: print_qualifiers * relpath: crypto/x509/v3_cpols.c */ static void print_qualifiers(BIO *out, STACK_OF(POLICYQUALINFO) *quals, int indent) { POLICYQUALINFO *qualinfo; int i; for (i = 0; i < sk_POLICYQUALINFO_num(quals); i++) { if (i > 0) BIO_puts(out, "\n"); qualinfo = sk_POLICYQUALINFO_value(quals, i); switch (OBJ_obj2nid(qualinfo->pqualid)) { case NID_id_qt_cps: BIO_printf(out, "%*sCPS: %.*s", indent, "", qualinfo->d.cpsuri->length, qualinfo->d.cpsuri->data); break; case NID_id_qt_unotice: BIO_printf(out, "%*sUser Notice:\n", indent, ""); print_notice(out, qualinfo->d.usernotice, indent + 2); break; default: BIO_printf(out, "%*sUnknown Qualifier: ", indent + 2, ""); i2a_ASN1_OBJECT(out, qualinfo->pqualid); break; } } }