From a350427e88bc6ff288594c964ca0f57464062eb0 Mon Sep 17 00:00:00 2001 From: jkim Date: Thu, 8 Jan 2015 22:40:39 +0000 Subject: Import OpenSSL 1.0.1k. --- crypto/x509/x509.h | 1 + crypto/x509/x509_vpm.c | 2 ++ crypto/x509/x_all.c | 2 ++ 3 files changed, 5 insertions(+) (limited to 'crypto/x509') diff --git a/crypto/x509/x509.h b/crypto/x509/x509.h index 092dd74..ed767f8 100644 --- a/crypto/x509/x509.h +++ b/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/x509/x509_vpm.c b/crypto/x509/x509_vpm.c index dfd89d8..ba546bd 100644 --- a/crypto/x509/x509_vpm.c +++ b/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/x509/x_all.c b/crypto/x509/x_all.c index e06602d..fef55f8 100644 --- a/crypto/x509/x_all.c +++ b/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)); } -- cgit v1.1