Use MBEDTLS_X509_MAX_DN_NAME_SIZE for buffer size

Signed-off-by: Agathiyan Bragadeesh <agathiyan.bragadeesh2@arm.com>
diff --git a/library/x509_create.c b/library/x509_create.c
index e673be6..a666e2d 100644
--- a/library/x509_create.c
+++ b/library/x509_create.c
@@ -224,10 +224,10 @@
 {
     const char *c = s;
     const char *end = c + len;
-    unsigned char asn1_der_buf[256];
+    unsigned char asn1_der_buf[MBEDTLS_X509_MAX_DN_NAME_SIZE];
     unsigned char *asn1_der_end;
     unsigned char *p;
-    unsigned char *d;
+    unsigned char *d = data;
     int n;
     /* Converting from hexstring to raw binary so we can use asn1parse.c*/
     if ((len < 5) || (*c != '#')) {
@@ -252,8 +252,8 @@
         return MBEDTLS_ERR_X509_INVALID_NAME;
     }
 
-    for (d = data; p < asn1_der_end; p++) {
-        *(d++) = *p;
+    while (p < asn1_der_end) {
+        *(d++) = *(p++);
     }
 
     return 0;