Skip to content

Commit 1778ccf

Browse files
committed
Test for empty X500Name equality
- fix legacy X509Name construction from empty string
1 parent e378985 commit 1778ccf

File tree

4 files changed

+12
-3
lines changed

4 files changed

+12
-3
lines changed

core/src/main/java/org/bouncycastle/asn1/x509/X509Name.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1079,6 +1079,11 @@ public boolean equals(Object obj)
10791079
{
10801080
return false;
10811081
}
1082+
1083+
if (orderingSize == 0)
1084+
{
1085+
return true;
1086+
}
10821087

10831088
boolean[] indexes = new boolean[orderingSize];
10841089
int start, end, delta;

core/src/main/java/org/bouncycastle/asn1/x509/X509NameTokenizer.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,18 @@ public X509NameTokenizer(
2525
char separator)
2626
{
2727
this.value = oid;
28-
this.index = -1;
28+
this.index = oid.length() < 1 ? 0 : -1;
2929
this.separator = separator;
3030
}
3131

3232
public boolean hasMoreTokens()
3333
{
34-
return (index != value.length());
34+
return index < value.length();
3535
}
3636

3737
public String nextToken()
3838
{
39-
if (index == value.length())
39+
if (index >= value.length())
4040
{
4141
return null;
4242
}

core/src/test/java/org/bouncycastle/asn1/test/X500NameTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -435,6 +435,8 @@ public void performTest()
435435
fail("strict comparison failed");
436436
}
437437

438+
equalityTest(new X500Name(""), new X500Name(""));
439+
438440
//
439441
// inequality to sequences
440442
//

core/src/test/java/org/bouncycastle/asn1/test/X509NameTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,8 @@ public void performTest()
402402

403403
equalityTest(n1, n2);
404404

405+
equalityTest(new X509Name(""), new X509Name(""));
406+
405407
//
406408
// inequality to sequences
407409
//

0 commit comments

Comments
 (0)