summaryrefslogtreecommitdiff
path: root/security
diff options
context:
space:
mode:
authoralexei.volkov.bugs%sun.com <devnull@localhost>2008-06-27 00:16:15 +0000
committeralexei.volkov.bugs%sun.com <devnull@localhost>2008-06-27 00:16:15 +0000
commite49d958135e0448dd0a7cfd9acf72917b8167024 (patch)
treede637a252653c911c87f46e10177db0147b4e5be /security
parent4c9c388a7829d061549dceeb10b8024446539b83 (diff)
downloadnss-hg-e49d958135e0448dd0a7cfd9acf72917b8167024.tar.gz
Bug 430859 ? PKIX: Policy mapping fails verification with error "invalid arguments". Initial fix. r=nelson
Diffstat (limited to 'security')
-rwxr-xr-xsecurity/nss/lib/libpkix/pkix/top/pkix_build.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/security/nss/lib/libpkix/pkix/top/pkix_build.c b/security/nss/lib/libpkix/pkix/top/pkix_build.c
index 7ed48c4ee..9d5cda612 100755
--- a/security/nss/lib/libpkix/pkix/top/pkix_build.c
+++ b/security/nss/lib/libpkix/pkix/top/pkix_build.c
@@ -2711,6 +2711,7 @@ pkix_BuildForwardDepthFirstSearch(
PKIX_VERIFYNODEADDTOTREEFAILED);
PKIX_DECREF(verifyNode);
}
+ pkixTempErrorReceived = PKIX_FALSE;
PKIX_DECREF(finalError);
finalError = verifyError;
verifyError = NULL;
@@ -2792,6 +2793,7 @@ pkix_BuildForwardDepthFirstSearch(
PKIX_VERIFYNODEADDTOTREEFAILED);
PKIX_DECREF(verifyNode);
}
+ pkixTempErrorReceived = PKIX_FALSE;
PKIX_DECREF(finalError);
finalError = verifyError;
verifyError = NULL;
@@ -2876,6 +2878,9 @@ pkix_BuildForwardDepthFirstSearch(
state->status = BUILD_CHECKTRUSTED;
goto cleanup;
}
+ /* Reset temp error that was set by
+ * PKIX_CHECK_ONLY_FATAL and continue */
+ pkixTempErrorReceived = PKIX_FALSE;
PKIX_DECREF(trustAnchor);
}
@@ -3013,6 +3018,7 @@ pkix_BuildForwardDepthFirstSearch(
plContext),
PKIX_VERIFYNODESETERRORFAILED);
}
+ pkixTempErrorReceived = PKIX_FALSE;
PKIX_DECREF(finalError);
finalError = verifyError;
verifyError = NULL;
@@ -3070,6 +3076,9 @@ pkix_BuildForwardDepthFirstSearch(
state->status = BUILD_VALCHAIN;
goto cleanup;
}
+ /* Reset temp error that was set by
+ * PKIX_CHECK_ONLY_FATAL and continue */
+ pkixTempErrorReceived = PKIX_FALSE;
}
state->status = BUILD_CHECKWITHANCHORS;
@@ -3543,7 +3552,7 @@ pkix_Build_TryShortcut(
/* Exit loop with anchor set */
break;
}
-
+ pkixTempErrorReceived = PKIX_FALSE;
} /* if (passed == PKIX_FALSE) ... else ... */
PKIX_DECREF(trustedPubKey);
PKIX_DECREF(anchor);