summaryrefslogtreecommitdiffstats
path: root/crypto/openssl/crypto/x509
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2015-01-09 00:58:20 +0000
committerjkim <jkim@FreeBSD.org>2015-01-09 00:58:20 +0000
commit27e2f26e1531b869ff531fab5ac3ef06aae4d4f4 (patch)
tree11138272980644b3ccdbfe7c0ebead1536be5efb /crypto/openssl/crypto/x509
parent3e6f1de34088867465b6a1a87fb10c25fc811e50 (diff)
downloadFreeBSD-src-27e2f26e1531b869ff531fab5ac3ef06aae4d4f4.zip
FreeBSD-src-27e2f26e1531b869ff531fab5ac3ef06aae4d4f4.tar.gz
MFC: r276861, r276863
Merge OpenSSL 1.0.1k.
Diffstat (limited to 'crypto/openssl/crypto/x509')
-rw-r--r--crypto/openssl/crypto/x509/x509.h1
-rw-r--r--crypto/openssl/crypto/x509/x509_vpm.c2
-rw-r--r--crypto/openssl/crypto/x509/x_all.c2
3 files changed, 5 insertions, 0 deletions
diff --git a/crypto/openssl/crypto/x509/x509.h b/crypto/openssl/crypto/x509/x509.h
index 092dd74..ed767f8 100644
--- a/crypto/openssl/crypto/x509/x509.h
+++ b/crypto/openssl/crypto/x509/x509.h
@@ -768,6 +768,7 @@ int X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int ptype, void *pval);
void X509_ALGOR_get0(ASN1_OBJECT **paobj, int *pptype, void **ppval,
X509_ALGOR *algor);
void X509_ALGOR_set_md(X509_ALGOR *alg, const EVP_MD *md);
+int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b);
X509_NAME *X509_NAME_dup(X509_NAME *xn);
X509_NAME_ENTRY *X509_NAME_ENTRY_dup(X509_NAME_ENTRY *ne);
diff --git a/crypto/openssl/crypto/x509/x509_vpm.c b/crypto/openssl/crypto/x509/x509_vpm.c
index dfd89d8..ba546bd 100644
--- a/crypto/openssl/crypto/x509/x509_vpm.c
+++ b/crypto/openssl/crypto/x509/x509_vpm.c
@@ -89,6 +89,8 @@ X509_VERIFY_PARAM *X509_VERIFY_PARAM_new(void)
{
X509_VERIFY_PARAM *param;
param = OPENSSL_malloc(sizeof(X509_VERIFY_PARAM));
+ if (!param)
+ return NULL;
memset(param, 0, sizeof(X509_VERIFY_PARAM));
x509_verify_param_zero(param);
return param;
diff --git a/crypto/openssl/crypto/x509/x_all.c b/crypto/openssl/crypto/x509/x_all.c
index e06602d..fef55f8 100644
--- a/crypto/openssl/crypto/x509/x_all.c
+++ b/crypto/openssl/crypto/x509/x_all.c
@@ -72,6 +72,8 @@
int X509_verify(X509 *a, EVP_PKEY *r)
{
+ if (X509_ALGOR_cmp(a->sig_alg, a->cert_info->signature))
+ return 0;
return(ASN1_item_verify(ASN1_ITEM_rptr(X509_CINF),a->sig_alg,
a->signature,a->cert_info,r));
}
OpenPOWER on IntegriCloud