]> granicus.if.org Git - apache/commitdiff
* modules/ssl/ssl_engine_vars.c (ssl_var_lookup_ssl_cert_dn): Simplify
authorJoe Orton <jorton@apache.org>
Sat, 28 Feb 2004 23:03:15 +0000 (23:03 +0000)
committerJoe Orton <jorton@apache.org>
Sat, 28 Feb 2004 23:03:15 +0000 (23:03 +0000)
to use apr_pstrmemdup.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102815 13f79535-47bb-0310-9956-ffa450edef68

modules/ssl/ssl_engine_vars.c

index 666de3f014a6d4a398419fc3932ef15039955540..4d3ba480721b5a331c9c808ddb6939920717a6d2 100644 (file)
@@ -376,8 +376,6 @@ static char *ssl_var_lookup_ssl_cert_dn(apr_pool_t *p, X509_NAME *xsname, char *
     char *result, *ptr;
     X509_NAME_ENTRY *xsne;
     int i, j, n, idx = 0;
-    unsigned char *data_ptr;
-    int data_len;
     apr_size_t varlen;
 
     /* if an _N suffix is used, find the Nth attribute of given name */
@@ -401,16 +399,15 @@ static char *ssl_var_lookup_ssl_cert_dn(apr_pool_t *p, X509_NAME *xsname, char *
                                              X509_NAME_get_entries(xsname), j);
 
                 n =OBJ_obj2nid((ASN1_OBJECT *)X509_NAME_ENTRY_get_object(xsne));
-                data_ptr = X509_NAME_ENTRY_get_data_ptr(xsne);
-                data_len = X509_NAME_ENTRY_get_data_len(xsne);
 
                 if (n == ssl_var_lookup_ssl_cert_dn_rec[i].nid && idx-- == 0) {
-                    result = apr_palloc(p, data_len+1);
-                    apr_cpystrn(result, (char *)data_ptr, data_len+1);
+                    result = apr_pstrmemdup(p, 
+                                            X509_NAME_ENTRY_get_data_ptr(xsne),
+                                            X509_NAME_ENTRY_get_data_len(xsne));
 #ifdef CHARSET_EBCDIC
-                    ascii2ebcdic(result, result, xsne->value->length);
+                    ascii2ebcdic(result, result, 
+                                 X509_NAME_ENTRY_get_data_len(xsne));
 #endif /* CHARSET_EBCDIC */
-                    result[data_len] = NUL;
                     break;
                 }
             }