From af70c7dce772076cfa17c0d07c266fae8919a913 Mon Sep 17 00:00:00 2001 From: Agathiyan Bragadeesh Date: Thu, 10 Aug 2023 16:39:23 +0100 Subject: [PATCH] Write numeric oid directly to buffer mbedtls_oid_get_numeric_string now points to output buffer in dn_gets Signed-off-by: Agathiyan Bragadeesh --- library/x509.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/library/x509.c b/library/x509.c index b487b43cf5..74b2fd6a12 100644 --- a/library/x509.c +++ b/library/x509.c @@ -833,7 +833,6 @@ int mbedtls_x509_dn_gets(char *buf, size_t size, const mbedtls_x509_name *dn) const mbedtls_x509_name *name; const char *short_name = NULL; char lowbits, highbits; - char numericoid[256]; char s[MBEDTLS_X509_MAX_DN_NAME_SIZE], *p; int print_hexstring; @@ -861,8 +860,9 @@ int mbedtls_x509_dn_gets(char *buf, size_t size, const mbedtls_x509_name *dn) if ((ret = mbedtls_oid_get_attr_short_name(&name->oid, &short_name)) == 0) { ret = mbedtls_snprintf(p, n, "%s=", short_name); } else { - if ((ret = mbedtls_oid_get_numeric_string(numericoid, 256, &name->oid)) > 0) { - ret = mbedtls_snprintf(p, n, "%s=", numericoid); + if ((ret = mbedtls_oid_get_numeric_string(p, n, &name->oid)) > 0) { + MBEDTLS_X509_SAFE_SNPRINTF; + ret = mbedtls_snprintf(p, n, "="); print_hexstring = 1; } else { ret = mbedtls_snprintf(p, n, "\?\?=");