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, "\?\?=");