Index: net/cert/x509_certificate_openssl.cc |
diff --git a/net/cert/x509_certificate_openssl.cc b/net/cert/x509_certificate_openssl.cc |
index 504f3aea5f33fe2b0a98ee510e2b6feaf364a365..fdd0e48d8551eef12623ea3e7d3b397d039147de 100644 |
--- a/net/cert/x509_certificate_openssl.cc |
+++ b/net/cert/x509_certificate_openssl.cc |
@@ -241,13 +241,7 @@ void sk_X509_NAME_free_all(STACK_OF(X509_NAME)* sk) { |
X509Certificate::OSCertHandle X509Certificate::DupOSCertHandle( |
OSCertHandle cert_handle) { |
DCHECK(cert_handle); |
- // Using X509_dup causes the entire certificate to be reparsed. This |
- // conversion, besides being non-trivial, drops any associated |
- // application-specific data set by X509_set_ex_data. Using CRYPTO_add |
- // just bumps up the ref-count for the cert, without causing any allocations |
- // or deallocations. |
- CRYPTO_add(&cert_handle->references, 1, CRYPTO_LOCK_X509); |
- return cert_handle; |
+ return X509_up_ref(cert_handle); |
} |
// static |