summaryrefslogtreecommitdiffstats
path: root/crypto/x509v3
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2009-05-30 18:11:26 +0000
committerDr. Stephen Henson <steve@openssl.org>2009-05-30 18:11:26 +0000
commit8132d3ac40edb8567c81a84aeb301d427c0a61e2 (patch)
tree9757dd6a50604bf94dfdb12e9956356fa1f40fa9 /crypto/x509v3
parent43e12b6f1ce4f59aeaeacdad3f0e984efa321fb4 (diff)
Update from 1.0.0-stable.
Diffstat (limited to 'crypto/x509v3')
-rw-r--r--crypto/x509v3/v3_ncons.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/crypto/x509v3/v3_ncons.c b/crypto/x509v3/v3_ncons.c
index ce5a8f6efc..689df46acd 100644
--- a/crypto/x509v3/v3_ncons.c
+++ b/crypto/x509v3/v3_ncons.c
@@ -376,6 +376,11 @@ static int nc_match_single(GENERAL_NAME *gen, GENERAL_NAME *base)
static int nc_dn(X509_NAME *nm, X509_NAME *base)
{
+ /* Ensure canonical encodings are up to date. */
+ if (nm->modified && i2d_X509_NAME(nm, NULL) < 0)
+ return X509_V_ERR_OUT_OF_MEM;
+ if (base->modified && i2d_X509_NAME(base, NULL) < 0)
+ return X509_V_ERR_OUT_OF_MEM;
if (base->canon_enclen > nm->canon_enclen)
return X509_V_ERR_PERMITTED_VIOLATION;
if (memcmp(base->canon_enc, nm->canon_enc, base->canon_enclen))