-
Type:
Bug
-
Resolution: Fixed
-
Priority:
P3
-
Affects Version/s: 6, 6u13
-
Component/s: security-libs
-
b84
-
generic, sparc
-
generic, solaris_10
| Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
|---|---|---|---|---|---|---|
| JDK-2188552 | 6-pool | Ragini Prasad | P3 | Closed | Won't Fix | |
| JDK-2187281 | 6u21 | Xuelei Fan | P2 | Closed | Fixed | b01 |
1. some of the important attributes are not cloned, such as date.
2. The clone operation should look like:
copy.certStores = new ArrayList<CertStore>(certStores);
copy.certPathCheckers = ...
public Object clone() {
try {
Object copy = super.clone();
// Must clone these because addCertStore, et al. modify them
if (certStores != null) {
certStores = new ArrayList<CertStore>(certStores);
}
if (certPathCheckers != null) {
certPathCheckers =
new ArrayList<PKIXCertPathChecker>(certPathCheckers);
}
return copy;
} catch (CloneNotSupportedException e) {
/* Cannot happen */
throw new InternalError(e.toString());
}
}
CrlRevocationChecker.java uses the method.
2. The clone operation should look like:
copy.certStores = new ArrayList<CertStore>(certStores);
copy.certPathCheckers = ...
public Object clone() {
try {
Object copy = super.clone();
// Must clone these because addCertStore, et al. modify them
if (certStores != null) {
certStores = new ArrayList<CertStore>(certStores);
}
if (certPathCheckers != null) {
certPathCheckers =
new ArrayList<PKIXCertPathChecker>(certPathCheckers);
}
return copy;
} catch (CloneNotSupportedException e) {
/* Cannot happen */
throw new InternalError(e.toString());
}
}
CrlRevocationChecker.java uses the method.
- backported by
-
JDK-2187281 incorrect implementation of PKIXParameters.clone()
-
- Closed
-
-
JDK-2188552 incorrect implementation of PKIXParameters.clone()
-
- Closed
-
- duplicates
-
JDK-6916370 Clone method of PKIXParameters should be thread safe.
-
- Closed
-