summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortb <>2023-12-20 14:26:47 +0000
committertb <>2023-12-20 14:26:47 +0000
commit5670cdd12c468a5cd84fe16e17e87aa9ef0a2d5b (patch)
tree700436ca99f9deb9e2683d53f3956538ea1f93b4 /src
parente5f75ebda0817555e654280a941bad4dfd170a5f (diff)
downloadopenbsd-5670cdd12c468a5cd84fe16e17e87aa9ef0a2d5b.tar.gz
openbsd-5670cdd12c468a5cd84fe16e17e87aa9ef0a2d5b.tar.bz2
openbsd-5670cdd12c468a5cd84fe16e17e87aa9ef0a2d5b.zip
Use BIO_indent() for indentation in tasn_prn.c
Using a loop to print pieces of a static buffer containing 20 spaces to indent things is just silly. Even sillier is making this buffer const without looking what it's actually used for... There is BIO_indent() or BIO_printf() that can handle "%*s". Add a length check to preserve behavior since BIO_indent() succeeds for negattive indent. However, peak silliness must be how BIO_dump_indent_cb() indents things. That's for another day. ok jsing
Diffstat (limited to 'src')
-rw-r--r--src/lib/libcrypto/asn1/tasn_prn.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/lib/libcrypto/asn1/tasn_prn.c b/src/lib/libcrypto/asn1/tasn_prn.c
index 3f61a689d0..d404838c68 100644
--- a/src/lib/libcrypto/asn1/tasn_prn.c
+++ b/src/lib/libcrypto/asn1/tasn_prn.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tasn_prn.c,v 1.25 2023/07/05 21:23:36 beck Exp $ */ 1/* $OpenBSD: tasn_prn.c,v 1.26 2023/12/20 14:26:47 tb Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2000. 3 * project 2000.
4 */ 4 */
@@ -395,15 +395,9 @@ static int
395asn1_print_fsname(BIO *out, int indent, const char *fname, const char *sname, 395asn1_print_fsname(BIO *out, int indent, const char *fname, const char *sname,
396 const ASN1_PCTX *pctx) 396 const ASN1_PCTX *pctx)
397{ 397{
398 static char spaces[] = " "; 398 if (indent < 0)
399 const int nspaces = sizeof(spaces) - 1; 399 return 0;
400 400 if (!BIO_indent(out, indent, indent))
401 while (indent > nspaces) {
402 if (BIO_write(out, spaces, nspaces) != nspaces)
403 return 0;
404 indent -= nspaces;
405 }
406 if (BIO_write(out, spaces, indent) != indent)
407 return 0; 401 return 0;
408 if (pctx->flags & ASN1_PCTX_FLAGS_NO_STRUCT_NAME) 402 if (pctx->flags & ASN1_PCTX_FLAGS_NO_STRUCT_NAME)
409 sname = NULL; 403 sname = NULL;