aboutsummaryrefslogtreecommitdiff
path: root/openssl
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2006-08-16 04:08:56 +0000
committerRob Austein <sra@hactrn.net>2006-08-16 04:08:56 +0000
commitc3014ff41c46d7a6ee6785962aaf62994006c123 (patch)
treeadc4dcf2f7e06b7c346371bbff6a6db7176e6b71 /openssl
parent19a1b0eab24ab520c0daff2f808153e6bbfcf4a6 (diff)
Handle continuation from callback better.
svn path=/openssl/trunk/crypto/x509v3/v3_asid.c; revision=155
Diffstat (limited to 'openssl')
-rw-r--r--openssl/trunk/crypto/x509v3/v3_asid.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/openssl/trunk/crypto/x509v3/v3_asid.c b/openssl/trunk/crypto/x509v3/v3_asid.c
index 98fa39cd..72fe5120 100644
--- a/openssl/trunk/crypto/x509v3/v3_asid.c
+++ b/openssl/trunk/crypto/x509v3/v3_asid.c
@@ -698,8 +698,10 @@ int v3_asid_validate_path(X509_STORE_CTX *ctx)
validation_err(X509_V_ERR_UNNESTED_RESOURCE);
continue;
}
- if (x->rfc3779_asid->asnum == NULL && child_as != NULL)
+ if (x->rfc3779_asid->asnum == NULL && child_as != NULL) {
validation_err(X509_V_ERR_UNNESTED_RESOURCE);
+ child_as = NULL;
+ }
if (x->rfc3779_asid->asnum != NULL &&
x->rfc3779_asid->asnum->type == ASIdentifierChoice_asIdsOrRanges) {
if (child_as == inherit_marker ||
@@ -708,8 +710,10 @@ int v3_asid_validate_path(X509_STORE_CTX *ctx)
else
validation_err(X509_V_ERR_UNNESTED_RESOURCE);
}
- if (x->rfc3779_asid->rdi == NULL && child_rdi != NULL)
+ if (x->rfc3779_asid->rdi == NULL && child_rdi != NULL) {
validation_err(X509_V_ERR_UNNESTED_RESOURCE);
+ child_rdi = NULL;
+ }
if (x->rfc3779_asid->rdi != NULL &&
x->rfc3779_asid->rdi->type == ASIdentifierChoice_asIdsOrRanges) {
if (child_rdi == inherit_marker ||