summaryrefslogtreecommitdiff
path: root/lib/certdb
diff options
context:
space:
mode:
authorTim Taubert <ttaubert@mozilla.com>2017-06-06 14:12:47 +0200
committerTim Taubert <ttaubert@mozilla.com>2017-06-06 14:12:47 +0200
commitdd6047548061806f5e7fc27f5f3b9a79bbfd3f56 (patch)
tree54e2de7b7de9365f84d47dd77d2e4788970f9d2b /lib/certdb
parent7a672cfa5642fe4418dccdf7f64d270209da6556 (diff)
downloadnss-hg-dd6047548061806f5e7fc27f5f3b9a79bbfd3f56.tar.gz
Bug 1361197 - Don't skip first RDN in CERT_CompareName() r=franziskus
Differential Revision: https://nss-review.dev.mozaws.net/D301
Diffstat (limited to 'lib/certdb')
-rw-r--r--lib/certdb/secname.c18
1 files changed, 4 insertions, 14 deletions
diff --git a/lib/certdb/secname.c b/lib/certdb/secname.c
index 6d3e9d372..654dfdf3f 100644
--- a/lib/certdb/secname.c
+++ b/lib/certdb/secname.c
@@ -568,8 +568,8 @@ CERT_CompareRDN(const CERTRDN *a, const CERTRDN *b)
SECComparison
CERT_CompareName(const CERTName *a, const CERTName *b)
{
- CERTRDN **ardns, *ardn;
- CERTRDN **brdns, *brdn;
+ CERTRDN **ardns;
+ CERTRDN **brdns;
int ac, bc;
SECComparison rv = SECEqual;
@@ -587,18 +587,8 @@ CERT_CompareName(const CERTName *a, const CERTName *b)
if (ac > bc)
return SECGreaterThan;
- for (;;) {
- if (!ardns++ || !brdns++) {
- break;
- }
- ardn = *ardns;
- brdn = *brdns;
- if (!ardn) {
- break;
- }
- rv = CERT_CompareRDN(ardn, brdn);
- if (rv)
- return rv;
+ while (rv == SECEqual && *ardns) {
+ rv = CERT_CompareRDN(*ardns++, *brdns++);
}
return rv;
}