Write numeric oid directly to buffer
mbedtls_oid_get_numeric_string now points to output buffer in dn_gets
Signed-off-by: Agathiyan Bragadeesh <agathiyan.bragadeesh2@arm.com>
diff --git a/library/x509.c b/library/x509.c
index b487b43..74b2fd6 100644
--- a/library/x509.c
+++ b/library/x509.c
@@ -833,7 +833,6 @@
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 @@
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, "\?\?=");