@@ -11383,6 +11383,31 @@ int wolfSSL_i2d_X509_NAME(WOLFSSL_X509_NAME* name, unsigned char** out)
1138311383 return ne ;
1138411384 }
1138511385
11386+ static void wolfssl_x509_name_entry_set (WOLFSSL_X509_NAME_ENTRY * ne ,
11387+ int nid , int type , const unsigned char * data , int dataSz )
11388+ {
11389+ WOLFSSL_ASN1_OBJECT * object ;
11390+
11391+ ne -> nid = nid ;
11392+ /* Reuse the object if already available. */
11393+ object = wolfSSL_OBJ_nid2obj_ex (nid , ne -> object );
11394+ if (object != NULL ) {
11395+ /* Set the object when no error. */
11396+ ne -> object = object ;
11397+ }
11398+ ne -> value = wolfSSL_ASN1_STRING_type_new (type );
11399+ if (ne -> value != NULL ) {
11400+ if (wolfSSL_ASN1_STRING_set (ne -> value , (const void * )data ,
11401+ dataSz ) == WOLFSSL_SUCCESS ) {
11402+ ne -> set = 1 ;
11403+ }
11404+ else {
11405+ /* Free the ASN1_STRING if it is not set. */
11406+ wolfSSL_ASN1_STRING_free (ne -> value );
11407+ ne -> value = NULL ;
11408+ }
11409+ }
11410+ }
1138611411
1138711412 /* Create a new WOLFSSL_X509_NAME_ENTRY structure based on the text passed
1138811413 * in. Returns NULL on failure */
@@ -11415,20 +11440,8 @@ int wolfSSL_i2d_X509_NAME(WOLFSSL_X509_NAME* name, unsigned char** out)
1141511440 return NULL ;
1141611441 }
1141711442 }
11418- ne -> nid = nid ;
11419- ne -> object = wolfSSL_OBJ_nid2obj_ex (nid , ne -> object );
11420- ne -> value = wolfSSL_ASN1_STRING_type_new (type );
11421- if (ne -> value != NULL ) {
11422- if (wolfSSL_ASN1_STRING_set (ne -> value , (const void * )data ,
11423- dataSz ) == WOLFSSL_SUCCESS ) {
11424- ne -> set = 1 ;
11425- }
11426- else {
11427- /* Free the ASN1_STRING if it is not set. */
11428- wolfSSL_ASN1_STRING_free (ne -> value );
11429- ne -> value = NULL ;
11430- }
11431- }
11443+
11444+ wolfssl_x509_name_entry_set (ne , nid , type , data , dataSz );
1143211445 }
1143311446
1143411447 return ne ;
@@ -11469,20 +11482,7 @@ int wolfSSL_i2d_X509_NAME(WOLFSSL_X509_NAME* name, unsigned char** out)
1146911482 ne = * out ;
1147011483 }
1147111484
11472- ne -> nid = nid ;
11473- ne -> object = wolfSSL_OBJ_nid2obj_ex (nid , ne -> object );
11474- ne -> value = wolfSSL_ASN1_STRING_type_new (type );
11475- if (ne -> value != NULL ) {
11476- if (wolfSSL_ASN1_STRING_set (ne -> value , (const void * )data , dataSz )
11477- == WOLFSSL_SUCCESS ) {
11478- ne -> set = 1 ;
11479- }
11480- else {
11481- /* Free the ASN1_STRING if it is not set. */
11482- wolfSSL_ASN1_STRING_free (ne -> value );
11483- ne -> value = NULL ;
11484- }
11485- }
11485+ wolfssl_x509_name_entry_set (ne , nid , type , data , dataSz );
1148611486
1148711487 return ne ;
1148811488 }
0 commit comments